leancheck 0.7.7 → 0.8.0
raw patch · 298 files changed
+19211/−39247 lines, 298 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Test.LeanCheck.Function.CoListable: class CoListable a
- Test.LeanCheck.Function.CoListable: cotiers :: CoListable a => [[b]] -> [[a -> b]]
- Test.LeanCheck.Function.CoListable: instance (Test.LeanCheck.Function.CoListable.CoListable a, Test.LeanCheck.Function.CoListable.CoListable b) => Test.LeanCheck.Function.CoListable.CoListable (Data.Either.Either a b)
- Test.LeanCheck.Function.CoListable: instance (Test.LeanCheck.Function.CoListable.CoListable a, Test.LeanCheck.Function.CoListable.CoListable b) => Test.LeanCheck.Function.CoListable.CoListable (a, b)
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable ()
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable GHC.Types.Bool
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable GHC.Types.Int
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable Test.LeanCheck.Utils.Types.Nat
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable Test.LeanCheck.Utils.Types.Nat2
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable Test.LeanCheck.Utils.Types.Nat3
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable a => Test.LeanCheck.Function.CoListable.CoListable (GHC.Base.Maybe a)
- Test.LeanCheck.Function.CoListable: instance Test.LeanCheck.Function.CoListable.CoListable a => Test.LeanCheck.Function.CoListable.CoListable [a]
- Test.LeanCheck.Function.Listable.CoListable: instance (Test.LeanCheck.Function.CoListable.CoListable a, Test.LeanCheck.Core.Listable b) => Test.LeanCheck.Core.Listable (a -> b)
- Test.LeanCheck.Function.Listable.FunListable: class FunListable a
- Test.LeanCheck.Function.Listable.FunListable: funtiers :: FunListable a => [[(Int, [b] -> (a -> b))]]
- Test.LeanCheck.Function.Listable.FunListable: instance (Test.LeanCheck.Function.Listable.FunListable.FunListable a, Test.LeanCheck.Core.Listable b) => Test.LeanCheck.Core.Listable (a -> b)
- Test.LeanCheck.Function.Listable.FunListable: instance (Test.LeanCheck.Function.Listable.FunListable.FunListable a, Test.LeanCheck.Function.Listable.FunListable.FunListable b) => Test.LeanCheck.Function.Listable.FunListable.FunListable (Data.Either.Either a b)
- Test.LeanCheck.Function.Listable.FunListable: instance (Test.LeanCheck.Function.Listable.FunListable.FunListable a, Test.LeanCheck.Function.Listable.FunListable.FunListable b) => Test.LeanCheck.Function.Listable.FunListable.FunListable (a, b)
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable ()
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable GHC.Types.Bool
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable GHC.Types.Int
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable Test.LeanCheck.Utils.Types.Nat
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable Test.LeanCheck.Utils.Types.Nat2
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable Test.LeanCheck.Utils.Types.Nat3
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable a => Test.LeanCheck.Function.Listable.FunListable.FunListable (GHC.Base.Maybe a)
- Test.LeanCheck.Function.Listable.FunListable: instance Test.LeanCheck.Function.Listable.FunListable.FunListable a => Test.LeanCheck.Function.Listable.FunListable.FunListable [a]
- Test.LeanCheck.Function.Listable.FunListable: invalidResults :: FunListable a => a -> [b] -> Bool
- Test.LeanCheck.Function.Listable.FunListable: validResults :: FunListable a => a -> [b] -> Bool
- Test.LeanCheck.Function.Listable.Mixed: instance (GHC.Classes.Eq a, Test.LeanCheck.Core.Listable a, Test.LeanCheck.Function.CoListable.CoListable a, Test.LeanCheck.Core.Listable b) => Test.LeanCheck.Core.Listable (a -> b)
- Test.LeanCheck.Function.Listable.Periodic: instance (GHC.Classes.Eq a, GHC.Classes.Eq b, Test.LeanCheck.Core.Listable a, Test.LeanCheck.Core.Listable b) => Test.LeanCheck.Core.Listable (a -> b)
- Test.LeanCheck.Function.Show: instance (GHC.Show.Show a, Test.LeanCheck.Core.Listable a, Test.LeanCheck.Function.ShowFunction.ShowFunction b) => GHC.Show.Show (a -> b)
- Test.LeanCheck.Function.ShowFunction: tBindings :: ShowFunction a => a -> [[Binding]]
- Test.LeanCheck.Function.ShowFunction: tBindingsShow :: Show a => a -> [[Binding]]
+ Test.LeanCheck: tiersFloating :: Fractional a => [[a]]
+ Test.LeanCheck.Core: tiersFloating :: Fractional a => [[a]]
+ Test.LeanCheck.Error: tiersFloating :: Fractional a => [[a]]
+ Test.LeanCheck.Function.Show.EightLines: instance (GHC.Show.Show a, Test.LeanCheck.Core.Listable a, Test.LeanCheck.Function.ShowFunction.ShowFunction b) => GHC.Show.Show (a -> b)
+ Test.LeanCheck.Function.Show.FourCases: instance (GHC.Show.Show a, Test.LeanCheck.Core.Listable a, Test.LeanCheck.Function.ShowFunction.ShowFunction b) => GHC.Show.Show (a -> b)
+ Test.LeanCheck.Function.ShowFunction: bindtiers :: ShowFunction a => a -> [[Binding]]
+ Test.LeanCheck.Function.ShowFunction: bindtiersShow :: Show a => a -> [[Binding]]
+ Test.LeanCheck.Function.ShowFunction: clarifiedBindings :: ShowFunction a => Int -> Int -> a -> ([String], [Binding])
+ Test.LeanCheck.Function.ShowFunction: describedBindings :: ShowFunction a => Int -> Int -> a -> [Binding]
+ Test.LeanCheck.Function.ShowFunction: explainedBindings :: ShowFunction a => Int -> a -> [Binding]
+ Test.LeanCheck.Utils.Operators: okNumNonNegative :: (Eq a, Num a) => a -> a -> a -> Bool
+ Test.LeanCheck.Utils.Types: Alpha :: Char -> Alpha
+ Test.LeanCheck.Utils.Types: AlphaNum :: Char -> AlphaNum
+ Test.LeanCheck.Utils.Types: AlphaNums :: String -> AlphaNums
+ Test.LeanCheck.Utils.Types: Alphas :: String -> Alphas
+ Test.LeanCheck.Utils.Types: Digit :: Char -> Digit
+ Test.LeanCheck.Utils.Types: Digits :: String -> Digits
+ Test.LeanCheck.Utils.Types: Letter :: Char -> Letter
+ Test.LeanCheck.Utils.Types: Letters :: String -> Letters
+ Test.LeanCheck.Utils.Types: Lower :: Char -> Lower
+ Test.LeanCheck.Utils.Types: Lowers :: String -> Lowers
+ Test.LeanCheck.Utils.Types: Space :: Char -> Space
+ Test.LeanCheck.Utils.Types: Spaces :: String -> Spaces
+ Test.LeanCheck.Utils.Types: Upper :: Char -> Upper
+ Test.LeanCheck.Utils.Types: Uppers :: String -> Uppers
+ Test.LeanCheck.Utils.Types: [unAlphaNum] :: AlphaNum -> Char
+ Test.LeanCheck.Utils.Types: [unAlphaNums] :: AlphaNums -> String
+ Test.LeanCheck.Utils.Types: [unAlpha] :: Alpha -> Char
+ Test.LeanCheck.Utils.Types: [unAlphas] :: Alphas -> String
+ Test.LeanCheck.Utils.Types: [unDigit] :: Digit -> Char
+ Test.LeanCheck.Utils.Types: [unDigits] :: Digits -> String
+ Test.LeanCheck.Utils.Types: [unLetter] :: Letter -> Char
+ Test.LeanCheck.Utils.Types: [unLetters] :: Letters -> String
+ Test.LeanCheck.Utils.Types: [unLower] :: Lower -> Char
+ Test.LeanCheck.Utils.Types: [unLowers] :: Lowers -> String
+ Test.LeanCheck.Utils.Types: [unSpace] :: Space -> Char
+ Test.LeanCheck.Utils.Types: [unSpaces] :: Spaces -> String
+ Test.LeanCheck.Utils.Types: [unUpper] :: Upper -> Char
+ Test.LeanCheck.Utils.Types: [unUppers] :: Uppers -> String
+ Test.LeanCheck.Utils.Types: data Alpha
+ Test.LeanCheck.Utils.Types: data AlphaNum
+ Test.LeanCheck.Utils.Types: data AlphaNums
+ Test.LeanCheck.Utils.Types: data Alphas
+ Test.LeanCheck.Utils.Types: data Digit
+ Test.LeanCheck.Utils.Types: data Digits
+ Test.LeanCheck.Utils.Types: data Letter
+ Test.LeanCheck.Utils.Types: data Letters
+ Test.LeanCheck.Utils.Types: data Lower
+ Test.LeanCheck.Utils.Types: data Lowers
+ Test.LeanCheck.Utils.Types: data Space
+ Test.LeanCheck.Utils.Types: data Spaces
+ Test.LeanCheck.Utils.Types: data Upper
+ Test.LeanCheck.Utils.Types: data Uppers
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Alpha
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.AlphaNum
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.AlphaNums
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Alphas
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Digit
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Digits
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Letter
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Letters
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Lower
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Lowers
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Space
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Spaces
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Upper
+ Test.LeanCheck.Utils.Types: instance GHC.Show.Show Test.LeanCheck.Utils.Types.Uppers
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Alpha
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.AlphaNum
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.AlphaNums
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Alphas
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Digit
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Digits
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Letter
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Letters
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Lower
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Lowers
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Space
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Spaces
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Upper
+ Test.LeanCheck.Utils.Types: instance Test.LeanCheck.Core.Listable Test.LeanCheck.Utils.Types.Uppers
- Test.LeanCheck: listIntegral :: (Enum a, Num a) => [a]
+ Test.LeanCheck: listIntegral :: (Ord a, Num a) => [a]
- Test.LeanCheck.Core: listIntegral :: (Enum a, Num a) => [a]
+ Test.LeanCheck.Core: listIntegral :: (Ord a, Num a) => [a]
- Test.LeanCheck.Error: listIntegral :: (Enum a, Num a) => [a]
+ Test.LeanCheck.Error: listIntegral :: (Ord a, Num a) => [a]
- Test.LeanCheck.Utils.Types: Natural :: Int -> Natural
+ Test.LeanCheck.Utils.Types: Natural :: Integer -> Natural
- Test.LeanCheck.Utils.Types: [unNatural] :: Natural -> Int
+ Test.LeanCheck.Utils.Types: [unNatural] :: Natural -> Integer
Files
- .gitignore +19/−12
- .travis.yml +4/−0
- Makefile +200/−195
- TODO.md +1/−43
- bench/tiers.hs +9/−0
- changelog.md +15/−0
- eg/higher-order.hs +7/−7
- eg/test-float.hs +24/−0
- leancheck.cabal +30/−32
- mk/All.hs +2/−0
- mk/depend.mk +142/−189
- mk/haskell.mk +7/−1
- src/Test/LeanCheck.hs +1/−0
- src/Test/LeanCheck/Basic.hs +53/−8
- src/Test/LeanCheck/Core.hs +229/−42
- src/Test/LeanCheck/Function.hs +28/−0
- src/Test/LeanCheck/Function/CoListable.hs +0/−108
- src/Test/LeanCheck/Function/Listable.hs +2/−11
- src/Test/LeanCheck/Function/Listable/CoListable.hs +0/−21
- src/Test/LeanCheck/Function/Listable/FunListable.hs +0/−136
- src/Test/LeanCheck/Function/Listable/Mixed.hs +0/−20
- src/Test/LeanCheck/Function/Listable/Periodic.hs +0/−56
- src/Test/LeanCheck/Function/Show.hs +63/−8
- src/Test/LeanCheck/Function/Show/EightLines.hs +72/−0
- src/Test/LeanCheck/Function/Show/FourCases.hs +53/−0
- src/Test/LeanCheck/Function/ShowFunction.hs +492/−93
- src/Test/LeanCheck/IO.hs +15/−0
- src/Test/LeanCheck/Tiers.hs +17/−16
- src/Test/LeanCheck/Utils/Operators.hs +14/−10
- src/Test/LeanCheck/Utils/Types.hs +99/−28
- test/Test.hs +143/−0
- test/derive.hs +106/−0
- test/diff/eg/higher-order.out +15/−0
- test/diff/eg/overflow.out +2/−0
- test/diff/eg/test-bool.out +25/−0
- test/diff/eg/test-float.out +19/−0
- test/diff/eg/test-list.out +6/−0
- test/diff/eg/test-sort.out +4/−0
- test/diff/tiers-4cases-Bool-Bool-Bool-Bool.out +267/−0
- test/diff/tiers-4cases-Bool-Bool-Bool.out +27/−0
- test/diff/tiers-4cases-Bool-Bool.out +15/−0
- test/diff/tiers-4cases-Bool-Int-Bool.out +157/−0
- test/diff/tiers-4cases-Bool-MBool.out +21/−0
- test/diff/tiers-4cases-Bool-U.out +10/−0
- test/diff/tiers-4cases-Bools-Bools.out +419/−0
- test/diff/tiers-4cases-Int-Bool-Bool.out +225/−0
- test/diff/tiers-4cases-Int-Int-Int-Int.out +47/−0
- test/diff/tiers-4cases-Int-Int-Int.out +151/−0
- test/diff/tiers-4cases-Int-Int.out +212/−0
- test/diff/tiers-4cases-Ints-Ints.out +135/−0
- test/diff/tiers-4cases-MBool-Bool.out +19/−0
- test/diff/tiers-4cases-MBool-MBool.out +40/−0
- test/diff/tiers-4cases-Nat,Nat-Nat.out +79/−0
- test/diff/tiers-4cases-Nat-Nat-Nat.out +151/−0
- test/diff/tiers-4cases-Nat-Nat.out +212/−0
- test/diff/tiers-4cases-Nat-U.out +17/−0
- test/diff/tiers-4cases-Nat2-Nat2.out +15/−0
- test/diff/tiers-4cases-Nat2-Nat3.out +22/−0
- test/diff/tiers-4cases-Nat3-Nat2.out +20/−0
- test/diff/tiers-4cases-Nat3-Nat3.out +42/−0
- test/diff/tiers-4cases-Nats-Nats.out +135/−0
- test/diff/tiers-4cases-U-Bool.out +13/−0
- test/diff/tiers-4cases-U-Nat.out +17/−0
- test/diff/tiers-4cases-U-U.out +10/−0
- test/diff/tiers-4cases-Us-Us.out +51/−0
- test/diff/tiers-BagBool.out +100/−0
- test/diff/tiers-BagNat.out +216/−0
- test/diff/tiers-BagNat2.out +63/−0
- test/diff/tiers-BagNat3.out +104/−0
- test/diff/tiers-BagU.out +23/−0
- test/diff/tiers-Bool.out +13/−0
- test/diff/tiers-Bools.out +79/−0
- test/diff/tiers-Char.out +23/−0
- test/diff/tiers-Double.out +52/−0
- test/diff/tiers-Float.out +52/−0
- test/diff/tiers-Int,Int,Int.out +72/−0
- test/diff/tiers-Int,Int.out +100/−0
- test/diff/tiers-Int.out +23/−0
- test/diff/tiers-Integer.out +23/−0
- test/diff/tiers-Ints.out +47/−0
- test/diff/tiers-MapBoolBool.out +21/−0
- test/diff/tiers-MapNat2Nat2.out +22/−0
- test/diff/tiers-MapNat3Nat3.out +84/−0
- test/diff/tiers-MapNatNat.out +571/−0
- test/diff/tiers-MapUU.out +12/−0
- test/diff/tiers-Nat,Nat,Nat.out +72/−0
- test/diff/tiers-Nat,Nat.out +100/−0
- test/diff/tiers-Nat.out +23/−0
- test/diff/tiers-Nats.out +47/−0
- test/diff/tiers-NoDupBool.out +17/−0
- test/diff/tiers-NoDupNat.out +226/−0
- test/diff/tiers-NoDupNat2.out +16/−0
- test/diff/tiers-NoDupNat3.out +30/−0
- test/diff/tiers-NoDupU.out +12/−0
- test/diff/tiers-Rational.out +49/−0
- test/diff/tiers-SetBool.out +15/−0
- test/diff/tiers-SetNat.out +75/−0
- test/diff/tiers-SetNat2.out +14/−0
- test/diff/tiers-SetNat3.out +19/−0
- test/diff/tiers-SetU.out +12/−0
- test/diff/tiers-String.out +47/−0
- test/diff/tiers-U,Us.out +23/−0
- test/diff/tiers-Us,Us.out +100/−0
- test/diff/tiers-Us.out +23/−0
- test/diff/tiers-XInt4.out +23/−0
- test/diff/tiers-XNat7.out +17/−0
- test/diff/tiers-XWord4.out +23/−0
- test/diff/tiers-XsInt4.out +1045/−0
- test/diff/tiers-XsNat7.out +1033/−0
- test/diff/tiers-XsWord4.out +1045/−0
- test/diff/tiers-default-Bool-Bool-Bool-Bool.out +1059/−0
- test/diff/tiers-default-Bool-Bool-Bool.out +57/−0
- test/diff/tiers-default-Bool-Bool.out +19/−0
- test/diff/tiers-default-Bool-Int-Bool.out +709/−0
- test/diff/tiers-default-Bool-MBool.out +33/−0
- test/diff/tiers-default-Bool-U.out +10/−0
- test/diff/tiers-default-Bools-Bools.out +1137/−0
- test/diff/tiers-default-Int-Bool-Bool.out +1137/−0
- test/diff/tiers-default-Int-Int-Int-Int.out +116/−0
- test/diff/tiers-default-Int-Int-Int.out +528/−0
- test/diff/tiers-default-Int-Int.out +670/−0
- test/diff/tiers-default-Ints-Ints.out +317/−0
- test/diff/tiers-default-MBool-Bool.out +31/−0
- test/diff/tiers-default-MBool-MBool.out +94/−0
- test/diff/tiers-default-Nat,Nat-Nat.out +205/−0
- test/diff/tiers-default-Nat-Nat-Nat.out +528/−0
- test/diff/tiers-default-Nat-Nat.out +670/−0
- test/diff/tiers-default-Nat-U.out +17/−0
- test/diff/tiers-default-Nat2-Nat2.out +19/−0
- test/diff/tiers-default-Nat2-Nat3.out +34/−0
- test/diff/tiers-default-Nat3-Nat2.out +32/−0
- test/diff/tiers-default-Nat3-Nat3.out +96/−0
- test/diff/tiers-default-Nats-Nats.out +317/−0
- test/diff/tiers-default-U-Bool.out +13/−0
- test/diff/tiers-default-U-Nat.out +17/−0
- test/diff/tiers-default-U-U.out +10/−0
- test/diff/tiers-default-Us-Us.out +115/−0
- test/diff/tiers.out +10/−0
- test/error.hs +64/−0
- test/fun.hs +29/−0
- test/funshow.hs +158/−0
- test/generic.hs +65/−0
- test/io.hs +10/−0
- test/main.hs +101/−0
- test/operators.hs +143/−0
- test/sdist +33/−0
- test/stats.hs +55/−0
- test/tiers.hs +113/−0
- test/types.hs +187/−0
- tests/Test.hs +0/−143
- tests/diff/eg/higher-order.out +0/−50
- tests/diff/eg/overflow.out +0/−2
- tests/diff/eg/test-bool.out +0/−29
- tests/diff/eg/test-list.out +0/−6
- tests/diff/eg/test-sort.out +0/−4
- tests/diff/tiers-BagBool.out +0/−100
- tests/diff/tiers-BagNat.out +0/−216
- tests/diff/tiers-BagNat2.out +0/−63
- tests/diff/tiers-BagNat3.out +0/−104
- tests/diff/tiers-BagU.out +0/−23
- tests/diff/tiers-Bool.out +0/−13
- tests/diff/tiers-Bools.out +0/−79
- tests/diff/tiers-Char.out +0/−23
- tests/diff/tiers-Int,Int,Int.out +0/−72
- tests/diff/tiers-Int,Int.out +0/−100
- tests/diff/tiers-Int.out +0/−23
- tests/diff/tiers-Integer.out +0/−23
- tests/diff/tiers-Ints.out +0/−47
- tests/diff/tiers-MapBoolBool.out +0/−21
- tests/diff/tiers-MapNat2Nat2.out +0/−22
- tests/diff/tiers-MapNat3Nat3.out +0/−84
- tests/diff/tiers-MapNatNat.out +0/−571
- tests/diff/tiers-MapUU.out +0/−12
- tests/diff/tiers-Nat,Nat,Nat.out +0/−72
- tests/diff/tiers-Nat,Nat.out +0/−100
- tests/diff/tiers-Nat.out +0/−23
- tests/diff/tiers-Nats.out +0/−47
- tests/diff/tiers-NoDupBool.out +0/−17
- tests/diff/tiers-NoDupNat.out +0/−226
- tests/diff/tiers-NoDupNat2.out +0/−16
- tests/diff/tiers-NoDupNat3.out +0/−30
- tests/diff/tiers-NoDupU.out +0/−12
- tests/diff/tiers-SetBool.out +0/−15
- tests/diff/tiers-SetNat.out +0/−75
- tests/diff/tiers-SetNat2.out +0/−14
- tests/diff/tiers-SetNat3.out +0/−19
- tests/diff/tiers-SetU.out +0/−12
- tests/diff/tiers-String.out +0/−47
- tests/diff/tiers-U,Us.out +0/−23
- tests/diff/tiers-Us,Us.out +0/−100
- tests/diff/tiers-Us.out +0/−23
- tests/diff/tiers-XInt4.out +0/−23
- tests/diff/tiers-XNat7.out +0/−17
- tests/diff/tiers-XWord4.out +0/−23
- tests/diff/tiers-XsInt4.out +0/−1045
- tests/diff/tiers-XsNat7.out +0/−1033
- tests/diff/tiers-XsWord4.out +0/−1045
- tests/diff/tiers-colistable-Bool-Bool.out +0/−23
- tests/diff/tiers-colistable-Bool-MBool.out +0/−40
- tests/diff/tiers-colistable-Bool-U.out +0/−14
- tests/diff/tiers-colistable-Bools-Bools.out +0/−745
- tests/diff/tiers-colistable-Int-Int-Int.out +0/−625
- tests/diff/tiers-colistable-Int-Int.out +0/−2637
- tests/diff/tiers-colistable-Ints-Ints.out +0/−315
- tests/diff/tiers-colistable-MBool-Bool.out +0/−43
- tests/diff/tiers-colistable-MBool-MBool.out +0/−122
- tests/diff/tiers-colistable-Nat,Nat-Nat.out +0/−625
- tests/diff/tiers-colistable-Nat-Nat-Nat.out +0/−625
- tests/diff/tiers-colistable-Nat-Nat.out +0/−2637
- tests/diff/tiers-colistable-Nat-U.out +0/−667
- tests/diff/tiers-colistable-Nat2-Nat2.out +0/−25
- tests/diff/tiers-colistable-Nat2-Nat3.out +0/−42
- tests/diff/tiers-colistable-Nat3-Nat2.out +0/−46
- tests/diff/tiers-colistable-Nat3-Nat3.out +0/−125
- tests/diff/tiers-colistable-Nats-Nats.out +0/−315
- tests/diff/tiers-colistable-U-Bool.out +0/−15
- tests/diff/tiers-colistable-U-Nat.out +0/−29
- tests/diff/tiers-colistable-U-U.out +0/−13
- tests/diff/tiers-colistable-Us-Us.out +0/−165
- tests/diff/tiers-funlistable-Bool-Bool.out +0/−23
- tests/diff/tiers-funlistable-Bool-MBool.out +0/−40
- tests/diff/tiers-funlistable-Bool-U.out +0/−14
- tests/diff/tiers-funlistable-Bools-Bools.out +0/−165
- tests/diff/tiers-funlistable-Int-Int-Int.out +0/−10
- tests/diff/tiers-funlistable-Int-Int.out +0/−10
- tests/diff/tiers-funlistable-Ints-Ints.out +0/−95
- tests/diff/tiers-funlistable-MBool-Bool.out +0/−43
- tests/diff/tiers-funlistable-MBool-MBool.out +0/−122
- tests/diff/tiers-funlistable-Nat,Nat-Nat.out +0/−10
- tests/diff/tiers-funlistable-Nat-Nat-Nat.out +0/−10
- tests/diff/tiers-funlistable-Nat-Nat.out +0/−10
- tests/diff/tiers-funlistable-Nat-U.out +0/−10
- tests/diff/tiers-funlistable-Nat2-Nat2.out +0/−10
- tests/diff/tiers-funlistable-Nat2-Nat3.out +0/−10
- tests/diff/tiers-funlistable-Nat3-Nat2.out +0/−10
- tests/diff/tiers-funlistable-Nat3-Nat3.out +0/−10
- tests/diff/tiers-funlistable-Nats-Nats.out +0/−95
- tests/diff/tiers-funlistable-U-Bool.out +0/−15
- tests/diff/tiers-funlistable-U-Nat.out +0/−29
- tests/diff/tiers-funlistable-U-U.out +0/−13
- tests/diff/tiers-funlistable-Us-Us.out +0/−55
- tests/diff/tiers-listsofpairs-Bool-Bool.out +0/−23
- tests/diff/tiers-listsofpairs-Bool-MBool.out +0/−40
- tests/diff/tiers-listsofpairs-Bool-U.out +0/−14
- tests/diff/tiers-listsofpairs-Bools-Bools.out +0/−385
- tests/diff/tiers-listsofpairs-Int-Int-Int.out +0/−215
- tests/diff/tiers-listsofpairs-Int-Int.out +0/−377
- tests/diff/tiers-listsofpairs-Ints-Ints.out +0/−175
- tests/diff/tiers-listsofpairs-MBool-Bool.out +0/−43
- tests/diff/tiers-listsofpairs-MBool-MBool.out +0/−122
- tests/diff/tiers-listsofpairs-Nat,Nat-Nat.out +0/−135
- tests/diff/tiers-listsofpairs-Nat-Nat-Nat.out +0/−215
- tests/diff/tiers-listsofpairs-Nat-Nat.out +0/−377
- tests/diff/tiers-listsofpairs-Nat-U.out +0/−27
- tests/diff/tiers-listsofpairs-Nat2-Nat2.out +0/−25
- tests/diff/tiers-listsofpairs-Nat2-Nat3.out +0/−42
- tests/diff/tiers-listsofpairs-Nat3-Nat2.out +0/−46
- tests/diff/tiers-listsofpairs-Nat3-Nat3.out +0/−125
- tests/diff/tiers-listsofpairs-Nats-Nats.out +0/−175
- tests/diff/tiers-listsofpairs-U-Bool.out +0/−15
- tests/diff/tiers-listsofpairs-U-Nat.out +0/−29
- tests/diff/tiers-listsofpairs-U-U.out +0/−13
- tests/diff/tiers-listsofpairs-Us-Us.out +0/−115
- tests/diff/tiers-mixed-Bool-Bool.out +0/−35
- tests/diff/tiers-mixed-Bool-MBool.out +0/−67
- tests/diff/tiers-mixed-Bool-U.out +0/−17
- tests/diff/tiers-mixed-Bools-Bools.out +0/−1115
- tests/diff/tiers-mixed-Int-Int-Int.out +0/−3625
- tests/diff/tiers-mixed-Int-Int.out +0/−2997
- tests/diff/tiers-mixed-Ints-Ints.out +0/−475
- tests/diff/tiers-mixed-MBool-Bool.out +0/−75
- tests/diff/tiers-mixed-MBool-MBool.out +0/−230
- tests/diff/tiers-mixed-Nat,Nat-Nat.out +0/−745
- tests/diff/tiers-mixed-Nat-Nat-Nat.out +0/−3625
- tests/diff/tiers-mixed-Nat-Nat.out +0/−2997
- tests/diff/tiers-mixed-Nat-U.out +0/−677
- tests/diff/tiers-mixed-Nat2-Nat2.out +0/−37
- tests/diff/tiers-mixed-Nat2-Nat3.out +0/−69
- tests/diff/tiers-mixed-Nat3-Nat2.out +0/−78
- tests/diff/tiers-mixed-Nat3-Nat3.out +0/−233
- tests/diff/tiers-mixed-Nats-Nats.out +0/−475
- tests/diff/tiers-mixed-U-Bool.out +0/−19
- tests/diff/tiers-mixed-U-Nat.out +0/−41
- tests/diff/tiers-mixed-U-U.out +0/−15
- tests/diff/tiers-mixed-Us-Us.out +0/−265
- tests/diff/tiers.out +0/−10
- tests/test-derive.hs +0/−106
- tests/test-error.hs +0/−64
- tests/test-fun.hs +0/−29
- tests/test-funshow.hs +0/−80
- tests/test-generic.hs +0/−65
- tests/test-io.hs +0/−10
- tests/test-main.hs +0/−101
- tests/test-operators.hs +0/−141
- tests/test-sdist +0/−33
- tests/test-stats.hs +0/−55
- tests/test-tiers.hs +0/−113
- tests/test-types.hs +0/−170
.gitignore view
@@ -12,29 +12,36 @@ *.hi *.dyn_hi *.dyn_o-tests/test-main-tests/test-derive-tests/test-error-tests/test-fun-tests/test-funshow-tests/test-generic-tests/test-io-tests/test-most-tests/test-operators-tests/test-tiers-tests/test-types-tests/test-stats+TAGS+tags+test/main+test/derive+test/error+test/fun+test/funshow+test/generic+test/io+test/most+test/operators+test/tiers+test/types+test/stats bench/tiers bench/tiers-colistable bench/tiers-colistable.hs bench/tiers-listsofpairs bench/tiers-listsofpairs.hs+bench/tiers-default+bench/tiers-default.hs bench/tiers-funlistable bench/tiers-funlistable.hs bench/tiers-mixed bench/tiers-mixed.hs+bench/tiers-4cases+bench/tiers-4cases.hs eg/test-sort eg/test-bool+eg/test-float eg/test-list eg/higher-order eg/overflow
.travis.yml view
@@ -22,6 +22,7 @@ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - ghc --version - cabal --version+- haddock --version # Download and unpack the stack executable # "Once Travis whitelists the stack.dev files," simply include stack in the # addons section. -- https://docs.haskellstack.org/en/stable/travis_ci/@@ -68,6 +69,7 @@ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - ghc --version - cabal --version+ - haddock --version script: - make && make test - make haddock HADDOCKFLAGS=@@ -80,6 +82,7 @@ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - ghc --version - cabal --version+ - haddock --version script: - make && make test - make haddock HADDOCKFLAGS=@@ -92,6 +95,7 @@ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - ghc --version - cabal --version+ - haddock --version script: - make && make test - make haddock HADDOCKFLAGS=
Makefile view
@@ -3,90 +3,91 @@ # Copyright: (c) 2015-2018 Rudy Matela # License: 3-Clause BSD (see the file LICENSE) # Maintainer: Rudy Matela <rudy@matela.com.br>-TESTS = tests/test-main \- tests/test-derive \- tests/test-error \- tests/test-fun \- tests/test-funshow \- tests/test-generic \- tests/test-io \- tests/test-operators \- tests/test-tiers \- tests/test-stats \- tests/test-types+TESTS = test/main \+ test/derive \+ test/error \+ test/fun \+ test/funshow \+ test/generic \+ test/io \+ test/operators \+ test/tiers \+ test/stats \+ test/types EGS = \ eg/overflow \ eg/higher-order \ eg/test-bool \+ eg/test-float \ eg/test-list \ eg/test-sort BENCHS = \- bench/tiers-colistable \- bench/tiers-funlistable \- bench/tiers-listsofpairs \- bench/tiers-mixed \+ bench/tiers-default \+ bench/tiers-4cases \ bench/tiers-GHCIMPORTDIRS = src:tests-# -dynamic is needed only for src/Test/LeanCheck/Derive.hs and tests/test-derive.hs+GHCIMPORTDIRS = src:test+# -dynamic is needed only for src/Test/LeanCheck/Derive.hs and test/derive.hs GHCFLAGS = -O2 $(shell grep -q "Arch Linux" /etc/lsb-release && echo -dynamic) HADDOCKFLAGS = --no-print-missing-docs-HUGSIMPORTDIRS = .:./src:./tests:./etc/hugs-backports:/usr/lib/hugs/packages/*+HUGSIMPORTDIRS = .:./src:./test:./etc/hugs-backports:/usr/lib/hugs/packages/* HUGSFLAGS = -98 -h32M all: mk/toplibs all-all: mk/All.o -test: $(patsubst %,%.test,$(TESTS)) diff-test+test: $(patsubst %,%.run,$(TESTS)) diff-test test-sdist diff-test: diff-test-tiers diff-test-funtiers $(patsubst %,%.diff-test,$(EGS)) update-diff-test: update-diff-test-tiers update-diff-test-funtiers $(patsubst %,%.update-diff-test,$(EGS)) -%.test: %+%.run: % ./$< eg/%.diff-test: eg/%- ./$< | diff -rud tests/diff/$<.out -+ ./$< | diff -rud test/diff/$<.out - eg/%.update-diff-test: eg/%- ./$< > tests/diff/$<.out+ ./$< > test/diff/$<.out # Evaluation order changed from GHC 8.4 to GHC 8.6, so we need to skip the # contents of the exception for test-list.diff-test. eg/test-list.diff-test: eg/test-list- ./$< | sed -e "s/Exception '[^']*'/Exception '...'/" | diff -rud tests/diff/$<.out -+ ./$< | sed -e "s/Exception '[^']*'/Exception '...'/" | diff -rud test/diff/$<.out - eg/test-list.update-diff-test: eg/test-list- ./$< | sed -e "s/Exception '[^']*'/Exception '...'/" > tests/diff/$<.out+ ./$< | sed -e "s/Exception '[^']*'/Exception '...'/" > test/diff/$<.out clean: clean-hi-o clean-haddock- rm -f bench/tiers-colistable.hs- rm -f bench/tiers-listsofpairs.hs- rm -f bench/tiers-funlistable.hs- rm -f bench/tiers-mixed.hs+ rm -f bench/tiers-default.hs+ rm -f bench/tiers-4cases.hs rm -f $(TESTS) $(BENCHS) $(EGS) mk/toplibs +full-clean: clean+ rm -rf .stack-work+ rm -f tags TAGS+ ghci: mk/All.ghci hugs: src/Test/LeanCheck.hugs hugs-test: \- tests/test-fun.runhugs \- tests/test-io.runhugs \- tests/test-operators.runhugs \- tests/test-stats.runhugs \- tests/test-tiers.runhugs \- tests/test-main.runhugs-# tests/test-error.runhugs # TODO: make this pass-# tests/test-funshow.runhugs # TODO: make this pass-# tests/test-types.runhugs # TODO: make this pass+ test/fun.runhugs \+ test/io.runhugs \+ test/operators.runhugs \+ test/stats.runhugs \+ test/tiers.runhugs \+ test/main.runhugs+# test/error.runhugs # TODO: make this pass+# test/funshow.runhugs # TODO: make this pass+# test/types.runhugs # TODO: make this pass install: @echo "use \`cabal install' instead" test-sdist:- ./tests/test-sdist+ ./test/sdist test-via-cabal: cabal test@@ -130,195 +131,199 @@ diff-test-tiers: bench/tiers # simple types- ./bench/tiers "()" | diff -rud tests/diff/tiers.out -- ./bench/tiers "Int" | diff -rud tests/diff/tiers-Int.out -- ./bench/tiers "Nat" | diff -rud tests/diff/tiers-Nat.out -- ./bench/tiers "Integer" | diff -rud tests/diff/tiers-Integer.out -- ./bench/tiers "Bool" | diff -rud tests/diff/tiers-Bool.out -- ./bench/tiers "Char" | diff -rud tests/diff/tiers-Char.out -+ ./bench/tiers "()" | diff -rud test/diff/tiers.out -+ ./bench/tiers "Int" | diff -rud test/diff/tiers-Int.out -+ ./bench/tiers "Nat" | diff -rud test/diff/tiers-Nat.out -+ ./bench/tiers "Integer" | diff -rud test/diff/tiers-Integer.out -+ ./bench/tiers "Bool" | diff -rud test/diff/tiers-Bool.out -+ ./bench/tiers "Char" | diff -rud test/diff/tiers-Char.out -+ ./bench/tiers "Float" | diff -rud test/diff/tiers-Float.out -+ ./bench/tiers "Double" | diff -rud test/diff/tiers-Double.out -+ ./bench/tiers "Rational" | diff -rud test/diff/tiers-Rational.out - # list s- ./bench/tiers "[()]" | diff -rud tests/diff/tiers-Us.out -- ./bench/tiers "[Int]" 6 | diff -rud tests/diff/tiers-Ints.out -- ./bench/tiers "[Nat]" 6 | diff -rud tests/diff/tiers-Nats.out -- ./bench/tiers "[Bool]" 6 | diff -rud tests/diff/tiers-Bools.out -- ./bench/tiers "String" 6 | diff -rud tests/diff/tiers-String.out -+ ./bench/tiers "[()]" | diff -rud test/diff/tiers-Us.out -+ ./bench/tiers "[Int]" 6 | diff -rud test/diff/tiers-Ints.out -+ ./bench/tiers "[Nat]" 6 | diff -rud test/diff/tiers-Nats.out -+ ./bench/tiers "[Bool]" 6 | diff -rud test/diff/tiers-Bools.out -+ ./bench/tiers "String" 6 | diff -rud test/diff/tiers-String.out - # pairs- ./bench/tiers "(Int,Int)" | diff -rud tests/diff/tiers-Int,Int.out -- ./bench/tiers "(Nat,Nat)" | diff -rud tests/diff/tiers-Nat,Nat.out -- ./bench/tiers "(Int,Int,Int)" 6 | diff -rud tests/diff/tiers-Int,Int,Int.out -- ./bench/tiers "(Nat,Nat,Nat)" 6 | diff -rud tests/diff/tiers-Nat,Nat,Nat.out -+ ./bench/tiers "(Int,Int)" | diff -rud test/diff/tiers-Int,Int.out -+ ./bench/tiers "(Nat,Nat)" | diff -rud test/diff/tiers-Nat,Nat.out -+ ./bench/tiers "(Int,Int,Int)" 6 | diff -rud test/diff/tiers-Int,Int,Int.out -+ ./bench/tiers "(Nat,Nat,Nat)" 6 | diff -rud test/diff/tiers-Nat,Nat,Nat.out - # lists & pairs- ./bench/tiers "[((),())]" | diff -rud tests/diff/tiers-U,Us.out -- ./bench/tiers "([()],[()])" | diff -rud tests/diff/tiers-Us,Us.out -+ ./bench/tiers "[((),())]" | diff -rud test/diff/tiers-U,Us.out -+ ./bench/tiers "([()],[()])" | diff -rud test/diff/tiers-Us,Us.out - # special lists- ./bench/tiers "Set Bool" | diff -rud tests/diff/tiers-SetBool.out -- ./bench/tiers "Set ()" | diff -rud tests/diff/tiers-SetU.out -- ./bench/tiers "Set Nat" | diff -rud tests/diff/tiers-SetNat.out -- ./bench/tiers "Set Nat2" | diff -rud tests/diff/tiers-SetNat2.out -- ./bench/tiers "Set Nat3" | diff -rud tests/diff/tiers-SetNat3.out -- ./bench/tiers "Bag Bool" | diff -rud tests/diff/tiers-BagBool.out -- ./bench/tiers "Bag ()" | diff -rud tests/diff/tiers-BagU.out -- ./bench/tiers "Bag Nat" | diff -rud tests/diff/tiers-BagNat.out -- ./bench/tiers "Bag Nat2" | diff -rud tests/diff/tiers-BagNat2.out -- ./bench/tiers "Bag Nat3" | diff -rud tests/diff/tiers-BagNat3.out -- ./bench/tiers "NoDup Bool" | diff -rud tests/diff/tiers-NoDupBool.out -- ./bench/tiers "NoDup ()" | diff -rud tests/diff/tiers-NoDupU.out -- ./bench/tiers "NoDup Nat" | diff -rud tests/diff/tiers-NoDupNat.out -- ./bench/tiers "NoDup Nat2" | diff -rud tests/diff/tiers-NoDupNat2.out -- ./bench/tiers "NoDup Nat3" | diff -rud tests/diff/tiers-NoDupNat3.out -- ./bench/tiers "Map Bool Bool" | diff -rud tests/diff/tiers-MapBoolBool.out -- ./bench/tiers "Map () ()" | diff -rud tests/diff/tiers-MapUU.out -- ./bench/tiers "Map Nat Nat" | diff -rud tests/diff/tiers-MapNatNat.out -- ./bench/tiers "Map Nat2 Nat2" | diff -rud tests/diff/tiers-MapNat2Nat2.out -- ./bench/tiers "Map Nat3 Nat3" | diff -rud tests/diff/tiers-MapNat3Nat3.out -+ ./bench/tiers "Set Bool" | diff -rud test/diff/tiers-SetBool.out -+ ./bench/tiers "Set ()" | diff -rud test/diff/tiers-SetU.out -+ ./bench/tiers "Set Nat" | diff -rud test/diff/tiers-SetNat.out -+ ./bench/tiers "Set Nat2" | diff -rud test/diff/tiers-SetNat2.out -+ ./bench/tiers "Set Nat3" | diff -rud test/diff/tiers-SetNat3.out -+ ./bench/tiers "Bag Bool" | diff -rud test/diff/tiers-BagBool.out -+ ./bench/tiers "Bag ()" | diff -rud test/diff/tiers-BagU.out -+ ./bench/tiers "Bag Nat" | diff -rud test/diff/tiers-BagNat.out -+ ./bench/tiers "Bag Nat2" | diff -rud test/diff/tiers-BagNat2.out -+ ./bench/tiers "Bag Nat3" | diff -rud test/diff/tiers-BagNat3.out -+ ./bench/tiers "NoDup Bool" | diff -rud test/diff/tiers-NoDupBool.out -+ ./bench/tiers "NoDup ()" | diff -rud test/diff/tiers-NoDupU.out -+ ./bench/tiers "NoDup Nat" | diff -rud test/diff/tiers-NoDupNat.out -+ ./bench/tiers "NoDup Nat2" | diff -rud test/diff/tiers-NoDupNat2.out -+ ./bench/tiers "NoDup Nat3" | diff -rud test/diff/tiers-NoDupNat3.out -+ ./bench/tiers "Map Bool Bool" | diff -rud test/diff/tiers-MapBoolBool.out -+ ./bench/tiers "Map () ()" | diff -rud test/diff/tiers-MapUU.out -+ ./bench/tiers "Map Nat Nat" | diff -rud test/diff/tiers-MapNatNat.out -+ ./bench/tiers "Map Nat2 Nat2" | diff -rud test/diff/tiers-MapNat2Nat2.out -+ ./bench/tiers "Map Nat3 Nat3" | diff -rud test/diff/tiers-MapNat3Nat3.out - # extreme integers- ./bench/tiers "X Int4" | diff -rud tests/diff/tiers-XInt4.out -- ./bench/tiers "X Word4" | diff -rud tests/diff/tiers-XWord4.out -- ./bench/tiers "X Nat7" | diff -rud tests/diff/tiers-XNat7.out -- ./bench/tiers "Xs Int4" | diff -rud tests/diff/tiers-XsInt4.out -- ./bench/tiers "Xs Word4" | diff -rud tests/diff/tiers-XsWord4.out -- ./bench/tiers "Xs Nat7" | diff -rud tests/diff/tiers-XsNat7.out -+ ./bench/tiers "X Int4" | diff -rud test/diff/tiers-XInt4.out -+ ./bench/tiers "X Word4" | diff -rud test/diff/tiers-XWord4.out -+ ./bench/tiers "X Nat7" | diff -rud test/diff/tiers-XNat7.out -+ ./bench/tiers "Xs Int4" | diff -rud test/diff/tiers-XsInt4.out -+ ./bench/tiers "Xs Word4" | diff -rud test/diff/tiers-XsWord4.out -+ ./bench/tiers "Xs Nat7" | diff -rud test/diff/tiers-XsNat7.out - update-diff-test-tiers: bench/tiers # simple types- ./bench/tiers "()" > tests/diff/tiers.out- ./bench/tiers "Int" > tests/diff/tiers-Int.out- ./bench/tiers "Nat" > tests/diff/tiers-Nat.out- ./bench/tiers "Integer" > tests/diff/tiers-Integer.out- ./bench/tiers "Bool" > tests/diff/tiers-Bool.out- ./bench/tiers "Char" > tests/diff/tiers-Char.out+ ./bench/tiers "()" > test/diff/tiers.out+ ./bench/tiers "Int" > test/diff/tiers-Int.out+ ./bench/tiers "Nat" > test/diff/tiers-Nat.out+ ./bench/tiers "Integer" > test/diff/tiers-Integer.out+ ./bench/tiers "Bool" > test/diff/tiers-Bool.out+ ./bench/tiers "Char" > test/diff/tiers-Char.out+ ./bench/tiers "Float" > test/diff/tiers-Float.out+ ./bench/tiers "Double" > test/diff/tiers-Double.out+ ./bench/tiers "Rational" > test/diff/tiers-Rational.out # lists- ./bench/tiers "[()]" > tests/diff/tiers-Us.out- ./bench/tiers "[Int]" 6 > tests/diff/tiers-Ints.out- ./bench/tiers "[Nat]" 6 > tests/diff/tiers-Nats.out- ./bench/tiers "[Bool]" 6 > tests/diff/tiers-Bools.out- ./bench/tiers "String" 6 > tests/diff/tiers-String.out+ ./bench/tiers "[()]" > test/diff/tiers-Us.out+ ./bench/tiers "[Int]" 6 > test/diff/tiers-Ints.out+ ./bench/tiers "[Nat]" 6 > test/diff/tiers-Nats.out+ ./bench/tiers "[Bool]" 6 > test/diff/tiers-Bools.out+ ./bench/tiers "String" 6 > test/diff/tiers-String.out # pairs- ./bench/tiers "(Int,Int)" > tests/diff/tiers-Int,Int.out- ./bench/tiers "(Nat,Nat)" > tests/diff/tiers-Nat,Nat.out- ./bench/tiers "(Int,Int,Int)" 6 > tests/diff/tiers-Int,Int,Int.out- ./bench/tiers "(Nat,Nat,Nat)" 6 > tests/diff/tiers-Nat,Nat,Nat.out+ ./bench/tiers "(Int,Int)" > test/diff/tiers-Int,Int.out+ ./bench/tiers "(Nat,Nat)" > test/diff/tiers-Nat,Nat.out+ ./bench/tiers "(Int,Int,Int)" 6 > test/diff/tiers-Int,Int,Int.out+ ./bench/tiers "(Nat,Nat,Nat)" 6 > test/diff/tiers-Nat,Nat,Nat.out # lists & pairs- ./bench/tiers "[((),())]" > tests/diff/tiers-U,Us.out- ./bench/tiers "([()],[()])" > tests/diff/tiers-Us,Us.out+ ./bench/tiers "[((),())]" > test/diff/tiers-U,Us.out+ ./bench/tiers "([()],[()])" > test/diff/tiers-Us,Us.out # special lists- ./bench/tiers "Set Bool" > tests/diff/tiers-SetBool.out- ./bench/tiers "Set ()" > tests/diff/tiers-SetU.out- ./bench/tiers "Set Nat" > tests/diff/tiers-SetNat.out- ./bench/tiers "Set Nat2" > tests/diff/tiers-SetNat2.out- ./bench/tiers "Set Nat3" > tests/diff/tiers-SetNat3.out- ./bench/tiers "Bag Bool" > tests/diff/tiers-BagBool.out- ./bench/tiers "Bag ()" > tests/diff/tiers-BagU.out- ./bench/tiers "Bag Nat" > tests/diff/tiers-BagNat.out- ./bench/tiers "Bag Nat2" > tests/diff/tiers-BagNat2.out- ./bench/tiers "Bag Nat3" > tests/diff/tiers-BagNat3.out- ./bench/tiers "NoDup Bool" > tests/diff/tiers-NoDupBool.out- ./bench/tiers "NoDup ()" > tests/diff/tiers-NoDupU.out- ./bench/tiers "NoDup Nat" > tests/diff/tiers-NoDupNat.out- ./bench/tiers "NoDup Nat2" > tests/diff/tiers-NoDupNat2.out- ./bench/tiers "NoDup Nat3" > tests/diff/tiers-NoDupNat3.out- ./bench/tiers "Map Bool Bool" > tests/diff/tiers-MapBoolBool.out- ./bench/tiers "Map () ()" > tests/diff/tiers-MapUU.out- ./bench/tiers "Map Nat Nat" > tests/diff/tiers-MapNatNat.out- ./bench/tiers "Map Nat2 Nat2" > tests/diff/tiers-MapNat2Nat2.out- ./bench/tiers "Map Nat3 Nat3" > tests/diff/tiers-MapNat3Nat3.out+ ./bench/tiers "Set Bool" > test/diff/tiers-SetBool.out+ ./bench/tiers "Set ()" > test/diff/tiers-SetU.out+ ./bench/tiers "Set Nat" > test/diff/tiers-SetNat.out+ ./bench/tiers "Set Nat2" > test/diff/tiers-SetNat2.out+ ./bench/tiers "Set Nat3" > test/diff/tiers-SetNat3.out+ ./bench/tiers "Bag Bool" > test/diff/tiers-BagBool.out+ ./bench/tiers "Bag ()" > test/diff/tiers-BagU.out+ ./bench/tiers "Bag Nat" > test/diff/tiers-BagNat.out+ ./bench/tiers "Bag Nat2" > test/diff/tiers-BagNat2.out+ ./bench/tiers "Bag Nat3" > test/diff/tiers-BagNat3.out+ ./bench/tiers "NoDup Bool" > test/diff/tiers-NoDupBool.out+ ./bench/tiers "NoDup ()" > test/diff/tiers-NoDupU.out+ ./bench/tiers "NoDup Nat" > test/diff/tiers-NoDupNat.out+ ./bench/tiers "NoDup Nat2" > test/diff/tiers-NoDupNat2.out+ ./bench/tiers "NoDup Nat3" > test/diff/tiers-NoDupNat3.out+ ./bench/tiers "Map Bool Bool" > test/diff/tiers-MapBoolBool.out+ ./bench/tiers "Map () ()" > test/diff/tiers-MapUU.out+ ./bench/tiers "Map Nat Nat" > test/diff/tiers-MapNatNat.out+ ./bench/tiers "Map Nat2 Nat2" > test/diff/tiers-MapNat2Nat2.out+ ./bench/tiers "Map Nat3 Nat3" > test/diff/tiers-MapNat3Nat3.out # extreme integers- ./bench/tiers "X Int4" > tests/diff/tiers-XInt4.out- ./bench/tiers "X Word4" > tests/diff/tiers-XWord4.out- ./bench/tiers "X Nat7" > tests/diff/tiers-XNat7.out- ./bench/tiers "Xs Int4" > tests/diff/tiers-XsInt4.out- ./bench/tiers "Xs Word4" > tests/diff/tiers-XsWord4.out- ./bench/tiers "Xs Nat7" > tests/diff/tiers-XsNat7.out+ ./bench/tiers "X Int4" > test/diff/tiers-XInt4.out+ ./bench/tiers "X Word4" > test/diff/tiers-XWord4.out+ ./bench/tiers "X Nat7" > test/diff/tiers-XNat7.out+ ./bench/tiers "Xs Int4" > test/diff/tiers-XsInt4.out+ ./bench/tiers "Xs Word4" > test/diff/tiers-XsWord4.out+ ./bench/tiers "Xs Nat7" > test/diff/tiers-XsNat7.out -prepare-depend: bench/tiers-listsofpairs.hs \- bench/tiers-colistable.hs \- bench/tiers-funlistable.hs \- bench/tiers-mixed.hs+prepare-depend: bench/tiers-default.hs \+ bench/tiers-4cases.hs prepare-depend-and-depend: prepare-depend make depend TLF = "import\ Test.LeanCheck.Function" -bench/tiers-listsofpairs.hs: bench/tiers.hs- sed -e "s/$(TLF)$$/$(TLF).Listable.ListsOfPairs\n$(TLF).Show/" $< > $@--bench/tiers-colistable.hs: bench/tiers.hs- sed -e "s/$(TLF)$$/$(TLF).Listable.CoListable\n$(TLF).Show/" $< > $@--bench/tiers-funlistable.hs: bench/tiers.hs- sed -e "s/$(TLF)$$/$(TLF).Listable.FunListable\n$(TLF).Show/" $< > $@--bench/tiers-mixed.hs: bench/tiers.hs- sed -e "s/$(TLF)$$/$(TLF).Listable.Mixed\n$(TLF).Show/" $< > $@--bench/tiers-colistable: bench/tiers-colistable.hs src/Test/LeanCheck/Function/Listable/CoListable.hs+bench/tiers-default.hs: bench/tiers.hs+ cp $< $@ -bench/tiers-listsofpairs: bench/tiers-listsofpairs.hs src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs+bench/tiers-4cases.hs: bench/tiers.hs+ sed -e "s/$(TLF)$$/$(TLF).Listable\n$(TLF).Show.FourCases/" $< > $@ -bench/tiers-funlistable: bench/tiers-funlistable.hs src/Test/LeanCheck/Function/Listable/FunListable.hs+bench/tiers-default: bench/tiers-default.hs src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs -bench/tiers-mixed: bench/tiers-mixed.hs src/Test/LeanCheck/Function/Listable/Mixed.hs+bench/tiers-4cases: bench/tiers-4cases.hs -diff-test-funtiers: bench/tiers-listsofpairs.diff-test \- bench/tiers-funlistable.diff-test \- bench/tiers-colistable.diff-test \- bench/tiers-mixed.diff-test+diff-test-funtiers: bench/tiers-default.diff-test \+ bench/tiers-4cases.diff-test -update-diff-test-funtiers: bench/tiers-listsofpairs.update-diff-test \- bench/tiers-funlistable.update-diff-test \- bench/tiers-colistable.update-diff-test \- bench/tiers-mixed.update-diff-test+update-diff-test-funtiers: bench/tiers-default.update-diff-test \+ bench/tiers-4cases.update-diff-test bench/tiers-%.diff-test: bench/tiers-% # functions- $< "()->()" | diff -rud tests/diff/tiers-$*-U-U.out -- $< "Bool->Bool" | diff -rud tests/diff/tiers-$*-Bool-Bool.out -- $< "Bool->()" | diff -rud tests/diff/tiers-$*-Bool-U.out -- $< "()->Bool" | diff -rud tests/diff/tiers-$*-U-Bool.out -- $< "Int->Int" 6 | diff -rud tests/diff/tiers-$*-Int-Int.out -- $< "Nat->Nat" 6 | diff -rud tests/diff/tiers-$*-Nat-Nat.out -- $< "()->Nat" 6 | diff -rud tests/diff/tiers-$*-U-Nat.out -- $< "Nat->()" 6 | diff -rud tests/diff/tiers-$*-Nat-U.out -- $< "Int->Int->Int" 4 | diff -rud tests/diff/tiers-$*-Int-Int-Int.out -- $< "Nat->Nat->Nat" 4 | diff -rud tests/diff/tiers-$*-Nat-Nat-Nat.out -- $< "(Nat,Nat)->Nat" 4 | diff -rud tests/diff/tiers-$*-Nat,Nat-Nat.out -- $< "Maybe Bool->Bool" | diff -rud tests/diff/tiers-$*-MBool-Bool.out -- $< "Bool->Maybe Bool" | diff -rud tests/diff/tiers-$*-Bool-MBool.out -- $< "Maybe Bool->Maybe Bool" | diff -rud tests/diff/tiers-$*-MBool-MBool.out -+ $< "()->()" | diff -rud test/diff/tiers-$*-U-U.out -+ $< "Bool->Bool" | diff -rud test/diff/tiers-$*-Bool-Bool.out -+ $< "Bool->Bool->Bool" | diff -rud test/diff/tiers-$*-Bool-Bool-Bool.out -+ $< "Bool->()" | diff -rud test/diff/tiers-$*-Bool-U.out -+ $< "()->Bool" | diff -rud test/diff/tiers-$*-U-Bool.out -+ $< "Int->Int" 9 | diff -rud test/diff/tiers-$*-Int-Int.out -+ $< "Nat->Nat" 9 | diff -rud test/diff/tiers-$*-Nat-Nat.out -+ $< "()->Nat" 6 | diff -rud test/diff/tiers-$*-U-Nat.out -+ $< "Nat->()" 6 | diff -rud test/diff/tiers-$*-Nat-U.out -+ $< "Int->Int->Int" 6 | diff -rud test/diff/tiers-$*-Int-Int-Int.out -+ $< "Nat->Nat->Nat" 6 | diff -rud test/diff/tiers-$*-Nat-Nat-Nat.out -+ $< "(Nat,Nat)->Nat" 6 | diff -rud test/diff/tiers-$*-Nat,Nat-Nat.out -+ $< "Maybe Bool->Bool" | diff -rud test/diff/tiers-$*-MBool-Bool.out -+ $< "Bool->Maybe Bool" | diff -rud test/diff/tiers-$*-Bool-MBool.out -+ $< "Maybe Bool->Maybe Bool" | diff -rud test/diff/tiers-$*-MBool-MBool.out -+ # functions with mixed arguments+ $< "Bool->Int->Bool" 6 | diff -rud test/diff/tiers-$*-Bool-Int-Bool.out -+ $< "Int->Bool->Bool" 6 | diff -rud test/diff/tiers-$*-Int-Bool-Bool.out -+ # functions with 3 arguments+ $< "Int->Int->Int->Int" 4 | diff -rud test/diff/tiers-$*-Int-Int-Int-Int.out -+ $< "Bool->Bool->Bool->Bool" | diff -rud test/diff/tiers-$*-Bool-Bool-Bool-Bool.out - # functions of lists- $< "[Bool]->[Bool]" 4 | diff -rud tests/diff/tiers-$*-Bools-Bools.out -- $< "[Nat]->[Nat]" 4 | diff -rud tests/diff/tiers-$*-Nats-Nats.out -- $< "[Int]->[Int]" 4 | diff -rud tests/diff/tiers-$*-Ints-Ints.out -+ $< "[Bool]->[Bool]" 6 | diff -rud test/diff/tiers-$*-Bools-Bools.out -+ $< "[Nat]->[Nat]" 6 | diff -rud test/diff/tiers-$*-Nats-Nats.out -+ $< "[Int]->[Int]" 6 | diff -rud test/diff/tiers-$*-Ints-Ints.out - # more functions- $< "Nat2->Nat2" | diff -rud tests/diff/tiers-$*-Nat2-Nat2.out -- $< "Nat2->Nat3" | diff -rud tests/diff/tiers-$*-Nat2-Nat3.out -- $< "Nat3->Nat2" | diff -rud tests/diff/tiers-$*-Nat3-Nat2.out -- $< "Nat3->Nat3" | diff -rud tests/diff/tiers-$*-Nat3-Nat3.out -+ $< "Nat2->Nat2" | diff -rud test/diff/tiers-$*-Nat2-Nat2.out -+ $< "Nat2->Nat3" | diff -rud test/diff/tiers-$*-Nat2-Nat3.out -+ $< "Nat3->Nat2" | diff -rud test/diff/tiers-$*-Nat3-Nat2.out -+ $< "Nat3->Nat3" | diff -rud test/diff/tiers-$*-Nat3-Nat3.out - bench/tiers-%.update-diff-test: bench/tiers-% # functions- $< "()->()" > tests/diff/tiers-$*-U-U.out- $< "Bool->Bool" > tests/diff/tiers-$*-Bool-Bool.out- $< "Bool->()" > tests/diff/tiers-$*-Bool-U.out- $< "()->Bool" > tests/diff/tiers-$*-U-Bool.out- $< "Int->Int" 6 > tests/diff/tiers-$*-Int-Int.out- $< "Nat->Nat" 6 > tests/diff/tiers-$*-Nat-Nat.out- $< "Nat->()" 6 > tests/diff/tiers-$*-Nat-U.out- $< "()->Nat" 6 > tests/diff/tiers-$*-U-Nat.out- $< "Int->Int->Int" 4 > tests/diff/tiers-$*-Int-Int-Int.out- $< "Nat->Nat->Nat" 4 > tests/diff/tiers-$*-Nat-Nat-Nat.out- $< "(Nat,Nat)->Nat" 4 > tests/diff/tiers-$*-Nat,Nat-Nat.out- $< "Maybe Bool->Bool" > tests/diff/tiers-$*-MBool-Bool.out- $< "Bool->Maybe Bool" > tests/diff/tiers-$*-Bool-MBool.out- $< "Maybe Bool->Maybe Bool" > tests/diff/tiers-$*-MBool-MBool.out+ $< "()->()" > test/diff/tiers-$*-U-U.out+ $< "Bool->Bool" > test/diff/tiers-$*-Bool-Bool.out+ $< "Bool->Bool->Bool" > test/diff/tiers-$*-Bool-Bool-Bool.out+ $< "Bool->()" > test/diff/tiers-$*-Bool-U.out+ $< "()->Bool" > test/diff/tiers-$*-U-Bool.out+ $< "Int->Int" 9 > test/diff/tiers-$*-Int-Int.out+ $< "Nat->Nat" 9 > test/diff/tiers-$*-Nat-Nat.out+ $< "Nat->()" 6 > test/diff/tiers-$*-Nat-U.out+ $< "()->Nat" 6 > test/diff/tiers-$*-U-Nat.out+ $< "Int->Int->Int" 6 > test/diff/tiers-$*-Int-Int-Int.out+ $< "Nat->Nat->Nat" 6 > test/diff/tiers-$*-Nat-Nat-Nat.out+ $< "(Nat,Nat)->Nat" 6 > test/diff/tiers-$*-Nat,Nat-Nat.out+ $< "Maybe Bool->Bool" > test/diff/tiers-$*-MBool-Bool.out+ $< "Bool->Maybe Bool" > test/diff/tiers-$*-Bool-MBool.out+ $< "Maybe Bool->Maybe Bool" > test/diff/tiers-$*-MBool-MBool.out+ # functions with mixed arguments+ $< "Bool->Int->Bool" 6 > test/diff/tiers-$*-Bool-Int-Bool.out+ $< "Int->Bool->Bool" 6 > test/diff/tiers-$*-Int-Bool-Bool.out+ # functions with 3 arguments+ $< "Int->Int->Int->Int" 4 > test/diff/tiers-$*-Int-Int-Int-Int.out+ $< "Bool->Bool->Bool->Bool" > test/diff/tiers-$*-Bool-Bool-Bool-Bool.out # functions of lists- $< "[()]->[()]" 4 > tests/diff/tiers-$*-Us-Us.out- $< "[Bool]->[Bool]" 4 > tests/diff/tiers-$*-Bools-Bools.out- $< "[Nat]->[Nat]" 4 > tests/diff/tiers-$*-Nats-Nats.out- $< "[Int]->[Int]" 4 > tests/diff/tiers-$*-Ints-Ints.out+ $< "[()]->[()]" 6 > test/diff/tiers-$*-Us-Us.out+ $< "[Bool]->[Bool]" 6 > test/diff/tiers-$*-Bools-Bools.out+ $< "[Nat]->[Nat]" 6 > test/diff/tiers-$*-Nats-Nats.out+ $< "[Int]->[Int]" 6 > test/diff/tiers-$*-Ints-Ints.out # more functions- $< "Nat2->Nat2" > tests/diff/tiers-$*-Nat2-Nat2.out- $< "Nat2->Nat3" > tests/diff/tiers-$*-Nat2-Nat3.out- $< "Nat3->Nat2" > tests/diff/tiers-$*-Nat3-Nat2.out- $< "Nat3->Nat3" > tests/diff/tiers-$*-Nat3-Nat3.out+ $< "Nat2->Nat2" > test/diff/tiers-$*-Nat2-Nat2.out+ $< "Nat2->Nat3" > test/diff/tiers-$*-Nat2-Nat3.out+ $< "Nat3->Nat2" > test/diff/tiers-$*-Nat3-Nat2.out+ $< "Nat3->Nat3" > test/diff/tiers-$*-Nat3-Nat3.out
TODO.md view
@@ -18,50 +18,8 @@ * on data-invariant.md, write missing section; + other improvements ------------------ * implement `conditionStatsT` (see `classStatsT`)---later--------* implement stub `Test.LeanCheck.Function.*` modules;--* somehow, improve the improve the enumeration of `Char`s:-- list = [ ['a'], ['b','c'], ['d','e','f'], ... ]- ||| [ [' '], ['\n'] ]- ||| [ ['0'], ['1'], ['2'], ...]- ||| ...- where- ||| is something that interleaves tiers of different lists...--* further improve showing of functions, indead of showing:-- \p q -> case (p,q) of- (False,False) -> False- (False,True) -> False- (True,False) -> True- (True,True) -> False-- actually show just:-- \p q -> case (p,q) of- (True,False) -> True- _ -> False-- Some thinking may have to be done for:-- \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,1) -> 1- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- ...-- Where: `const (const 1) ->/ [(1,const 0)]`.
bench/tiers.hs view
@@ -83,6 +83,9 @@ "Integer" -> put t n (u :: Integer ) "Bool" -> put t n (u :: Bool ) "Char" -> put t n (u :: Char )+ "Float" -> put t n (u :: Float )+ "Double" -> put t n (u :: Double )+ "Rational" -> put t n (u :: Rational ) -- lists "[()]" -> put t n (u :: [()] ) "[Int]" -> put t n (u :: [Int] )@@ -135,6 +138,12 @@ "Nat2->Nat3" -> put t n (u :: Nat2 -> Nat3 ) "Nat3->Nat2" -> put t n (u :: Nat3 -> Nat2 ) "Nat3->Nat3" -> put t n (u :: Nat3 -> Nat3 )+ -- functions with mixed arguments+ "Bool->Int->Bool" -> put t n (u :: Bool -> Int -> Bool )+ "Int->Bool->Bool" -> put t n (u :: Int -> Bool -> Bool )+ -- functions with 3 arguments+ "Int->Int->Int->Int" -> put t n (u :: Int -> Int -> Int -> Int)+ "Bool->Bool->Bool->Bool" -> put t n (u :: Bool -> Bool -> Bool -> Bool) -- special lists "Set Bool" -> put t n (u :: Set Bool ) "Set ()" -> put t n (u :: Set () )
changelog.md view
@@ -1,6 +1,21 @@ Changelog for LeanCheck ======================= +v0.8.0+------++* export `tiersFractional` from `Core` and main module;+* improve `Listable` instance for `Float`s and `Double`s;+* improve `Show` instance for functions;+* improve Haddock documentation;+* remove experimental function enumeration modules,+ in favour of the working `ListsOfPairs` enumeration;+* add special `String` and `Char` types to `Utils.Types`;+* fix bug in the `Natural` type of the `Utils.Types` modules;+* force non-negativity in `Natural` and `Nat` types from `Utils.Types`;+* rename some exported symbols in the `ShowFunction` module;+* improve tests of LeanCheck itself.+ v0.7.7 ------
eg/higher-order.hs view
@@ -3,18 +3,18 @@ type A = Int -prop_foldlFoldr :: (A -> A -> A) -> A -> [A] -> Bool-prop_foldlFoldr f z xs = foldr f z xs == foldl f z xs+prop_foldlr :: (A -> A -> A) -> A -> [A] -> Bool+prop_foldlr f z xs = foldr f z xs == foldl f z xs -prop_foldl1Foldr1Reverse :: (A -> A -> A) -> [A] -> Bool-prop_foldl1Foldr1Reverse f xs =- not (null xs) ==> foldl1 f xs == foldr1 f (reverse xs)+-- correct version of the property above+prop_foldlr' :: (A -> A -> A) -> A -> [A] -> Bool+prop_foldlr' f z xs = foldl (flip f) z (reverse xs) == foldr f z xs prop_mapFilter :: (A -> A) -> (A -> Bool) -> [A] -> Bool prop_mapFilter f p xs = filter p (map f xs) == map f (filter p xs) main :: IO () main = do- check prop_foldlFoldr- check prop_foldl1Foldr1Reverse+ check prop_foldlr+ check prop_foldlr' check prop_mapFilter
+ eg/test-float.hs view
@@ -0,0 +1,24 @@+-- test-list.hs -- example program, testing Float using LeanCheck+--+-- Copyright (c) 2017-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test.LeanCheck++main :: IO ()+main = do+ -- identities on floats+ -- some of these properties fail due to rounding errors+ checkFor n $ \x y -> not (isInfinite y) ==> x - y + y == (x::Float)+ checkFor n $ \x y -> not (isInfinite y) ==> x + y - y == (x::Float)+ checkFor n $ \x y -> y /= 0 && not (isInfinite y) ==> x * y / y == (x::Float)+ checkFor n $ \x y -> y /= 0 && not (isInfinite y) ==> x / y * y == (x::Float)+ checkFor n $ \x -> x + x == x * (2::Float)+ checkFor n $ \x -> x + x + x == x * (3::Float)+ checkFor n $ \x -> x + x + x + x == x * (4::Float)+ checkFor n $ \x -> x + x + x + x + x == x * (5::Float)+ checkFor n $ \x -> x + x + x + x + x + x == x * (6::Float)+ checkFor n $ \() -> 0.1 + 0.1 + 0.1 == 0.3+ checkFor n $ \x -> x >= 0 ==> (x ** 2) ** 0.5 == (x::Float)+ checkFor n $ \x -> x >= 0 ==> (x ** 0.5) ** 2 == (x::Float)+ where+ n = 10000
leancheck.cabal view
@@ -11,7 +11,7 @@ -- this cabal file too complicated. -- Rudy name: leancheck-version: 0.7.7+version: 0.8.0 synopsis: Enumerative property-based testing description: LeanCheck is a simple enumerative property-based testing library.@@ -48,6 +48,7 @@ , eg/higher-order.hs , eg/overflow.hs , eg/test-bool.hs+ , eg/test-float.hs , eg/test-list.hs , eg/test-sort.hs , etc/hugs-backports/Data/Function.hs@@ -58,9 +59,9 @@ , mk/haddock-i , mk/haskell.mk , stack.yaml- , tests/diff/*.out- , tests/diff/eg/*.out- , tests/test-sdist+ , test/diff/*.out+ , test/diff/eg/*.out+ , test/sdist tested-with: GHC==8.4, GHC==8.2, GHC==8.0, GHC==7.10, GHC==7.8, GHC==7.6, GHC==7.4 @@ -71,7 +72,7 @@ source-repository this type: git location: https://github.com/rudymatela/leancheck- tag: v0.7.7+ tag: v0.8.0 library exposed-modules: Test.LeanCheck@@ -90,14 +91,11 @@ , Test.LeanCheck.Function , Test.LeanCheck.Function.Eq , Test.LeanCheck.Function.Show+ , Test.LeanCheck.Function.Show.EightLines+ , Test.LeanCheck.Function.Show.FourCases , Test.LeanCheck.Function.Listable , Test.LeanCheck.Function.Listable.ListsOfPairs- , Test.LeanCheck.Function.Listable.FunListable- , Test.LeanCheck.Function.Listable.CoListable- , Test.LeanCheck.Function.Listable.Periodic- , Test.LeanCheck.Function.Listable.Mixed , Test.LeanCheck.Function.ListsOfPairs- , Test.LeanCheck.Function.CoListable , Test.LeanCheck.Function.ShowFunction hs-source-dirs: src build-depends: base >= 4 && < 5, template-haskell@@ -107,57 +105,57 @@ test-suite main type: exitcode-stdio-1.0- main-is: test-main.hs+ main-is: main.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite types type: exitcode-stdio-1.0- main-is: test-types.hs+ main-is: types.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite tiers type: exitcode-stdio-1.0- main-is: test-tiers.hs+ main-is: tiers.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite operators type: exitcode-stdio-1.0- main-is: test-operators.hs+ main-is: operators.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite derive type: exitcode-stdio-1.0- main-is: test-derive.hs+ main-is: derive.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite error type: exitcode-stdio-1.0- main-is: test-error.hs+ main-is: error.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite generic type: exitcode-stdio-1.0- main-is: test-generic.hs+ main-is: generic.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck if impl(ghc < 7.6) build-depends: ghc-prim@@ -165,32 +163,32 @@ test-suite io type: exitcode-stdio-1.0- main-is: test-io.hs+ main-is: io.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite fun type: exitcode-stdio-1.0- main-is: test-fun.hs+ main-is: fun.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite funshow type: exitcode-stdio-1.0- main-is: test-funshow.hs+ main-is: funshow.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010 test-suite stats type: exitcode-stdio-1.0- main-is: test-stats.hs+ main-is: stats.hs other-modules: Test- hs-source-dirs: tests+ hs-source-dirs: test build-depends: base >= 4 && < 5, leancheck default-language: Haskell2010
mk/All.hs view
@@ -5,6 +5,7 @@ , module Test.LeanCheck.Utils , module Test.LeanCheck.Tiers , module Test.LeanCheck.Generic+ , module Test.LeanCheck.Function ) where @@ -14,3 +15,4 @@ import Test.LeanCheck.Utils import Test.LeanCheck.Tiers import Test.LeanCheck.Generic+import Test.LeanCheck.Function
mk/depend.mk view
@@ -1,97 +1,57 @@-bench/tiers: \- bench/tiers.hs \- mk/toplibs-bench/tiers-colistable: \- bench/tiers-colistable.hs \+bench/tiers-4cases: \+ bench/tiers-4cases.hs \ mk/toplibs-bench/tiers-colistable.o: \+bench/tiers-4cases.o: \ src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Utils/TypeBinding.hs \- src/Test/LeanCheck/Utils.hs \- src/Test/LeanCheck/Utils/Operators.hs \ src/Test/LeanCheck/Tiers.hs \ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \- src/Test/LeanCheck/Function/Listable/CoListable.hs \- src/Test/LeanCheck/Function/Eq.hs \- src/Test/LeanCheck/Function/CoListable.hs \- src/Test/LeanCheck/Error.hs \- src/Test/LeanCheck/Derive.hs \- src/Test/LeanCheck/Core.hs \- src/Test/LeanCheck/Basic.hs \- bench/tiers-colistable.hs-bench/tiers-funlistable: \- bench/tiers-funlistable.hs \- mk/toplibs-bench/tiers-funlistable.o: \- src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Utils/TypeBinding.hs \- src/Test/LeanCheck/Utils.hs \- src/Test/LeanCheck/Utils/Operators.hs \- src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck/Stats.hs \- src/Test/LeanCheck.hs \- src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/Show.hs \- src/Test/LeanCheck/Function/ShowFunction.hs \- src/Test/LeanCheck/Function/Listable/FunListable.hs \- src/Test/LeanCheck/Function/Eq.hs \- src/Test/LeanCheck/Error.hs \- src/Test/LeanCheck/Derive.hs \- src/Test/LeanCheck/Core.hs \- src/Test/LeanCheck/Basic.hs \- bench/tiers-funlistable.hs-bench/tiers-listsofpairs: \- bench/tiers-listsofpairs.hs \- mk/toplibs-bench/tiers-listsofpairs.o: \- src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck.hs \- src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/Show.hs \- src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/FourCases.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \+ src/Test/LeanCheck/Function/Listable.hs \ src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs \ src/Test/LeanCheck/Function/Eq.hs \ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs \- bench/tiers-listsofpairs.hs-bench/tiers-mixed: \- bench/tiers-mixed.hs \+ bench/tiers-4cases.hs+bench/tiers: \+ bench/tiers.hs \ mk/toplibs-bench/tiers-mixed.o: \+bench/tiers-default: \+ bench/tiers-default.hs \+ mk/toplibs+bench/tiers-default.o: \ src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Utils/TypeBinding.hs \- src/Test/LeanCheck/Utils.hs \- src/Test/LeanCheck/Utils/Operators.hs \ src/Test/LeanCheck/Tiers.hs \ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \+ src/Test/LeanCheck/Function.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \- src/Test/LeanCheck/Function/Listable/Mixed.hs \+ src/Test/LeanCheck/Function/Listable.hs \+ src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs \ src/Test/LeanCheck/Function/Eq.hs \- src/Test/LeanCheck/Function/CoListable.hs \ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs \- bench/tiers-mixed.hs+ bench/tiers-default.hs bench/tiers.o: \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \ src/Test/LeanCheck/Function.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \ src/Test/LeanCheck/Function/Listable.hs \@@ -108,10 +68,12 @@ eg/higher-order.o: \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \ src/Test/LeanCheck/Function.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \ src/Test/LeanCheck/Function/Listable.hs \@@ -151,6 +113,7 @@ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \ src/Test/LeanCheck/Function.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \ src/Test/LeanCheck/Function/Listable.hs \@@ -160,6 +123,17 @@ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs \ eg/test-bool.hs+eg/test-float: \+ eg/test-float.hs \+ mk/toplibs+eg/test-float.o: \+ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck.hs \+ src/Test/LeanCheck/IO.hs \+ src/Test/LeanCheck/Derive.hs \+ src/Test/LeanCheck/Core.hs \+ src/Test/LeanCheck/Basic.hs \+ eg/test-float.hs eg/test-list: \ eg/test-list.hs \ mk/toplibs@@ -194,6 +168,14 @@ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Generic.hs \+ src/Test/LeanCheck/Function/Show.hs \+ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \+ src/Test/LeanCheck/Function.hs \+ src/Test/LeanCheck/Function/ListsOfPairs.hs \+ src/Test/LeanCheck/Function/Listable.hs \+ src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs \+ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs \@@ -210,6 +192,7 @@ src/Test/LeanCheck/Generic.hs \ src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \ src/Test/LeanCheck/Function.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \ src/Test/LeanCheck/Function/Listable.hs \@@ -241,117 +224,83 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function/CoListable.o: \- src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Utils/TypeBinding.hs \- src/Test/LeanCheck/Utils.hs \- src/Test/LeanCheck/Utils/Operators.hs \- src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck/Stats.hs \- src/Test/LeanCheck.hs \- src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/CoListable.hs \- src/Test/LeanCheck/Derive.hs \- src/Test/LeanCheck/Core.hs \- src/Test/LeanCheck/Basic.hs src/Test/LeanCheck/Function/Eq.o: \ src/Test/LeanCheck/Function/Eq.hs \ src/Test/LeanCheck/Core.hs-src/Test/LeanCheck/Function/Listable/CoListable.o: \- src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Utils/TypeBinding.hs \- src/Test/LeanCheck/Utils.hs \- src/Test/LeanCheck/Utils/Operators.hs \+src/Test/LeanCheck/Function/Listable/ListsOfPairs.o: \ src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/Listable/CoListable.hs \- src/Test/LeanCheck/Function/CoListable.hs \- src/Test/LeanCheck/Derive.hs \- src/Test/LeanCheck/Core.hs \- src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function/Listable/FunListable.o: \- src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Utils/TypeBinding.hs \- src/Test/LeanCheck/Utils.hs \- src/Test/LeanCheck/Utils/Operators.hs \- src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck/Stats.hs \- src/Test/LeanCheck.hs \- src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/Listable/FunListable.hs \+ src/Test/LeanCheck/Function/ListsOfPairs.hs \+ src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function/Listable/ListsOfPairs.o: \+src/Test/LeanCheck/Function/Listable.o: \ src/Test/LeanCheck/Tiers.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \+ src/Test/LeanCheck/Function/Listable.hs \ src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function/Listable/Mixed.o: \- src/Test/LeanCheck/Utils/Types.hs \- src/Test/LeanCheck/Utils/TypeBinding.hs \- src/Test/LeanCheck/Utils.hs \- src/Test/LeanCheck/Utils/Operators.hs \+src/Test/LeanCheck/Function/ListsOfPairs.o: \ src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \- src/Test/LeanCheck/Function/Listable/Mixed.hs \- src/Test/LeanCheck/Function/CoListable.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function/Listable.o: \+src/Test/LeanCheck/Function.o: \+ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \+ src/Test/LeanCheck/Function/Show.hs \+ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \+ src/Test/LeanCheck/Function.hs \ src/Test/LeanCheck/Function/ListsOfPairs.hs \ src/Test/LeanCheck/Function/Listable.hs \ src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs \- src/Test/LeanCheck/Derive.hs \- src/Test/LeanCheck/Core.hs \- src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function/Listable/Periodic.o: \- src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck.hs \- src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/Listable/Periodic.hs \+ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function/ListsOfPairs.o: \+src/Test/LeanCheck/Function/Show/EightLines.o: \+ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/ListsOfPairs.hs \+ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \+ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-src/Test/LeanCheck/Function.o: \+src/Test/LeanCheck/Function/Show/FourCases.o: \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \- src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \- src/Test/LeanCheck/Function.hs \- src/Test/LeanCheck/Function/ListsOfPairs.hs \- src/Test/LeanCheck/Function/Listable.hs \- src/Test/LeanCheck/Function/Listable/ListsOfPairs.hs \+ src/Test/LeanCheck/Function/Show/FourCases.hs \ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs+src/Test/LeanCheck/Function/ShowFunction: \+ mk/toplibs src/Test/LeanCheck/Function/ShowFunction.o: \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \@@ -362,10 +311,12 @@ src/Test/LeanCheck/Function/Show.o: \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \@@ -427,9 +378,9 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-derive.o: \- tests/Test.hs \- tests/test-derive.hs \+test/derive.o: \+ test/Test.hs \+ test/derive.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Utils/Operators.hs \ src/Test/LeanCheck/Tiers.hs \@@ -438,13 +389,13 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-derive: \- tests/Test.hs \- tests/test-derive.hs \+test/derive: \+ test/Test.hs \+ test/derive.hs \ mk/toplibs-tests/test-error.o: \- tests/Test.hs \- tests/test-error.hs \+test/error.o: \+ test/Test.hs \+ test/error.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \ src/Test/LeanCheck.hs \@@ -453,13 +404,13 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-error: \- tests/Test.hs \- tests/test-error.hs \+test/error: \+ test/Test.hs \+ test/error.hs \ mk/toplibs-tests/test-fun.o: \- tests/Test.hs \- tests/test-fun.hs \+test/fun.o: \+ test/Test.hs \+ test/fun.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Utils/TypeBinding.hs \ src/Test/LeanCheck/Utils.hs \@@ -472,31 +423,33 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-funshow.o: \- tests/Test.hs \- tests/test-funshow.hs \+test/funshow.o: \+ test/Test.hs \+ test/funshow.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Utils/TypeBinding.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Function/Show.hs \ src/Test/LeanCheck/Function/ShowFunction.hs \+ src/Test/LeanCheck/Function/Show/EightLines.hs \ src/Test/LeanCheck/Error.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-funshow: \- tests/Test.hs \- tests/test-funshow.hs \+test/funshow: \+ test/Test.hs \+ test/funshow.hs \ mk/toplibs-tests/test-fun: \- tests/Test.hs \- tests/test-fun.hs \+test/fun: \+ test/Test.hs \+ test/fun.hs \ mk/toplibs-tests/test-generic.o: \- tests/Test.hs \- tests/test-generic.hs \+test/generic.o: \+ test/Test.hs \+ test/generic.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Utils/Operators.hs \ src/Test/LeanCheck/Tiers.hs \@@ -506,13 +459,13 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-generic: \- tests/Test.hs \- tests/test-generic.hs \+test/generic: \+ test/Test.hs \+ test/generic.hs \ mk/toplibs-tests/test-io.o: \- tests/Test.hs \- tests/test-io.hs \+test/io.o: \+ test/Test.hs \+ test/io.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \ src/Test/LeanCheck.hs \@@ -520,13 +473,13 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-io: \- tests/Test.hs \- tests/test-io.hs \+test/io: \+ test/Test.hs \+ test/io.hs \ mk/toplibs-tests/test-main.o: \- tests/Test.hs \- tests/test-main.hs \+test/main.o: \+ test/Test.hs \+ test/main.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Utils/TypeBinding.hs \ src/Test/LeanCheck/Utils.hs \@@ -538,13 +491,13 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-main: \- tests/Test.hs \- tests/test-main.hs \+test/main: \+ test/Test.hs \+ test/main.hs \ mk/toplibs-tests/test-operators.o: \- tests/Test.hs \- tests/test-operators.hs \+test/operators.o: \+ test/Test.hs \+ test/operators.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Utils/TypeBinding.hs \ src/Test/LeanCheck/Utils.hs \@@ -556,37 +509,37 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-operators: \- tests/Test.hs \- tests/test-operators.hs \+test/operators: \+ test/Test.hs \+ test/operators.hs \ mk/toplibs-tests/Test.o: \- tests/Test.hs \+test/stats.o: \+ test/Test.hs \+ test/stats.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \+ src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-stats.o: \- tests/test-stats.hs \- tests/Test.hs \+test/stats: \+ test/Test.hs \+ test/stats.hs \+ mk/toplibs+test/Test.o: \+ test/Test.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \- src/Test/LeanCheck/Stats.hs \ src/Test/LeanCheck.hs \ src/Test/LeanCheck/IO.hs \ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-stats: \- tests/test-stats.hs \- tests/Test.hs \- mk/toplibs-tests/test-tiers.o: \- tests/test-tiers.hs \- tests/Test.hs \+test/tiers.o: \+ test/tiers.hs \+ test/Test.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Utils/TypeBinding.hs \ src/Test/LeanCheck/Utils.hs \@@ -598,13 +551,13 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-tiers: \- tests/test-tiers.hs \- tests/Test.hs \+test/tiers: \+ test/tiers.hs \+ test/Test.hs \ mk/toplibs-tests/test-types.o: \- tests/test-types.hs \- tests/Test.hs \+test/types.o: \+ test/types.hs \+ test/Test.hs \ src/Test/LeanCheck/Utils/Types.hs \ src/Test/LeanCheck/Tiers.hs \ src/Test/LeanCheck.hs \@@ -612,7 +565,7 @@ src/Test/LeanCheck/Derive.hs \ src/Test/LeanCheck/Core.hs \ src/Test/LeanCheck/Basic.hs-tests/test-types: \- tests/test-types.hs \- tests/Test.hs \+test/types: \+ test/types.hs \+ test/Test.hs \ mk/toplibs
mk/haskell.mk view
@@ -44,6 +44,12 @@ ALL_HSS ?= $(shell $(LIST_ALL_HSS)) PKGNAME = $(shell cat *.cabal | grep "^name:" | sed -e "s/name: *//")+HADDOCK_VERSION = $(shell haddock --version | grep version | sed -e 's/.*version //;s/,.*//')+HADDOCK_MAJOR = $(shell echo $(HADDOCK_VERSION) | sed -e 's/\..*//')+HADDOCK_MINOR = $(shell echo $(HADDOCK_VERSION) | sed -e 's/[0-9]*\.\([0-9]*\).[0-9]*/\1/')+HADDOCK_PKG_NAME = $(shell [ $(HADDOCK_MAJOR) -gt 2 ] \+ || [ $(HADDOCK_MAJOR) -eq 2 -a $(HADDOCK_MINOR) -ge 20 ] \+ && echo "--package-name=$(PKGNAME)") # Implicit rules@@ -94,7 +100,7 @@ doc/index.html: $(LIB_HSS) ./mk/haddock-i base template-haskell | xargs \- haddock --html -odoc $(LIB_HSS) $(HADDOCKFLAGS) --title=$(PKGNAME)+ haddock --html -odoc $(LIB_HSS) $(HADDOCKFLAGS) --title=$(PKGNAME) $(HADDOCK_PKG_NAME) # lists all Haskell source files list-all-hss:
src/Test/LeanCheck.hs view
@@ -117,6 +117,7 @@ , listsOfLength -- ** Listing values+ , tiersFloating , tiersFractional , listIntegral , (+|)
src/Test/LeanCheck/Basic.hs view
@@ -144,28 +144,73 @@ -> (a,b,c,d,e,f,g,h,i,j,k,l) -> m uncurry12 f (x,y,z,w,v,u,r,s,t,o,p,q) = f x y z w v u r s t o p q +-- | > list :: [Rational] =+-- > [ 0 % 1+-- > , 1 % 1+-- > , (-1) % 1+-- > , 1 % 2, 2 % 1+-- > , (-1) % 2, (-2) % 1+-- > , 1 % 3, 3 % 1+-- > , (-1) % 3, (-3) % 1+-- > , 1 % 4, 2 % 3, 3 % 2, 4 % 1+-- > , (-1) % 4, (-2) % 3, (-3) % 2, (-4) % 1+-- > , 1 % 5, 5 % 1+-- > , (-1) % 5, (-5) % 1+-- > , ...+-- > ] instance (Integral a, Listable a) => Listable (Ratio a) where tiers = mapT (uncurry (%)) . reset $ tiers `suchThat` (\(n,d) -> d > 0 && n `gcd` d == 1) +-- | > list :: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] instance Listable Word where- list = [0..]+ list = listIntegral --- | Resets the weight of a constructor (or tiers)--- Typically used as an infix constructor when defining Listable instances:+-- | Resets the weight of a constructor or tiers. ----- > cons<N> `ofWeight` <W>+-- > > [ [], [], ..., xs, ys, zs, ... ] `ofWeight` 1+-- > [ [], xs, ys, zs, ... ] ----- Be careful: do not apply @`ofWeight` 0@ to recursive data structure+-- > > [ xs, ys, zs, ... ] `ofWeight` 2+-- > [ [], [], xs, ys, zs, ... ]+--+-- > > [ [], xs, ys, zs, ... ] `ofWeight` 3+-- > [ [], [], [], xs, ys, zs, ... ]+--+-- Typically used as an infix operator when defining 'Listable' instances:+--+-- > instance Listable <Type> where+-- > tiers = ...+-- > \/ cons<N> <Cons> `ofWeight` <W>+-- > \/ ...+--+-- /Warning:/ do not apply @ \`ofWeight\` 0 @ to recursive data structure -- constructors. In general this will make the list of size 0 infinite, -- breaking the tier invariant (each tier must be finite). ----- 'ofWeight' is closely related to 'reset'.+-- @ \`ofWeight\` /n/ @ is equivalent to 'reset' followed+-- by @/n/@ applications of 'delay'. ofWeight :: [[a]] -> Int -> [[a]] ofWeight xss w = dropWhile null xss `addWeight` w --- | Adds to the weight of tiers of a constructor+-- | Adds to the weight of a constructor or tiers. ----- 'addWeight' is closely related to 'delay'.+-- > instance Listable <Type> where+-- > tiers = ...+-- > \/ cons<N> <Cons> `addWeight` <W>+-- > \/ ...+--+-- Typically used as an infix operator when defining 'Listable' instances:+--+-- > > [ xs, ys, zs, ... ] `addWeight` 1+-- > [ [], xs, ys, zs, ... ]+--+-- > > [ xs, ys, zs, ... ] `addWeight` 2+-- > [ [], [], xs, ys, zs, ... ]+--+-- > > [ [], xs, ys, zs, ... ] `addWeight` 3+-- > [ [], [], [], [], xs, ys, zs, ... ]+--+-- @ \`addWeight\` /n/ @ is equivalent to @/n/@ applications of 'delay'. addWeight :: [[a]] -> Int -> [[a]] addWeight xss w = replicate w [] ++ xss
src/Test/LeanCheck/Core.hs view
@@ -77,6 +77,7 @@ , (+|) , listIntegral , tiersFractional+ , tiersFloating ) where @@ -102,6 +103,28 @@ -- -- where @N@ is the number of arguments of each constructor @A...Z@. --+-- Here is a datatype with 4 constructors and its listable instance:+--+-- > data MyType = MyConsA+-- > | MyConsB Int+-- > | MyConsC Int Char+-- > | MyConsD String+-- >+-- > instance Listable MyType where+-- > tiers = cons0 MyConsA+-- > \/ cons1 MyConsB+-- > \/ cons2 MyConsC+-- > \/ cons1 MyConsD+--+-- The instance for Hutton's Razor is given by:+--+-- > data Expr = Val Int+-- > | Add Expr Expr+-- >+-- > instance Listable Expr where+-- > tiers = cons1 Val+-- > \/ cons2 Add+-- -- Instances can be alternatively defined by 'list'. -- In this case, each sub-list in 'tiers' is a singleton list -- (each succeeding element of 'list' has +1 size).@@ -122,26 +145,50 @@ -- | Takes a list of values @xs@ and transform it into tiers on which each -- tier is occupied by a single element from @xs@. --+-- > > toTiers [x, y, z, ...]+-- > [ [x], [y], [z], ...]+-- -- To convert back to a list, just 'concat'. toTiers :: [a] -> [[a]] toTiers = map (:[]) +-- | > list :: [()] = [()]+-- > tiers :: [[()]] = [[()]] instance Listable () where list = [()] -- | Tiers of 'Integral' values. -- Can be used as a default implementation of 'list' for 'Integral' types.-listIntegral :: (Enum a, Num a) => [a]-listIntegral = [0,-1..] +| [1..]+--+-- For types with negative values, like 'Int',+-- the list starts with 0 then intercalates between positives and negatives.+--+-- > listIntegral = [0, 1, -1, 2, -2, 3, -3, 4, -4, ...]+--+-- For types without negative values, like 'Word',+-- the list starts with 0 followed by positives of increasing magnitude.+--+-- > listIntegral = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...]+--+-- This function will not work for types that throw errors when the result of+-- an arithmetic operation is negative such as 'GHC.Natural'. For these, use+-- @[0..]@ as the 'list' implementation.+listIntegral :: (Ord a, Num a) => [a]+listIntegral = 0 : positives +| negatives+ where+ positives = takeWhile (>0) $ iterate (+1) 1 -- stop generating on overflow+ negatives = takeWhile (<0) $ iterate (subtract 1) (-1) -- | > tiers :: [[Int]] = [[0], [1], [-1], [2], [-2], [3], [-3], ...] -- > list :: [Int] = [0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5, 6, ...] instance Listable Int where list = listIntegral +-- | > list :: [Int] = [0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5, 6, ...] instance Listable Integer where list = listIntegral +-- | > list :: [Char] = ['a', ' ', 'b', 'A', 'c', '\', 'n', 'd', ...] instance Listable Char where list = ['a'..'z'] +| [' ','\n']@@ -163,6 +210,13 @@ instance Listable a => Listable (Maybe a) where tiers = cons0 Nothing \/ cons1 Just +-- | > tiers :: [[Either Bool Bool]] =+-- > [[Left False, Right False, Left True, Right True]]+-- > tiers :: [[Either Int Int]] = [ [Left 0, Right 0]+-- > , [Left 1, Right 1]+-- > , [Left (-1), Right (-1)]+-- > , [Left 2, Right 2]+-- > , ... ] instance (Listable a, Listable b) => Listable (Either a b) where tiers = reset (cons1 Left) \\// reset (cons1 Right)@@ -176,6 +230,7 @@ instance (Listable a, Listable b) => Listable (a,b) where tiers = tiers >< tiers +-- | > list :: [(Int,Int,Int)] = [ (0,0,0), (0,0,1), (0,1,0), ...] instance (Listable a, Listable b, Listable c) => Listable (a,b,c) where tiers = productWith (\x (y,z) -> (x,y,z)) tiers tiers @@ -199,33 +254,92 @@ -- | Tiers of 'Fractional' values. -- This can be used as the implementation of 'tiers' for 'Fractional' types.+--+-- > tiersFractional :: [[Rational]] =+-- > [ [ 0 % 1]+-- > , [ 1 % 1]+-- > , [(-1) % 1]+-- > , [ 1 % 2, 2 % 1]+-- > , [(-1) % 2, (-2) % 1]+-- > , [ 1 % 3, 3 % 1]+-- > , [(-1) % 3, (-3) % 1]+-- > , [ 1 % 4, 2 % 3, 3 % 2, 4 % 1]+-- > , [(-1) % 4, (-2) % 3, (-3) % 2, (-4) % 1]+-- > , [ 1 % 5, 5 % 1]+-- > , [(-1) % 5, (-5) % 1]+-- > , [ 1 % 6, 2 % 5, 3 % 4, 4 % 3, 5 % 2, 6 % 1]+-- > , [(-1) % 6, (-2) % 5, (-3) % 4, (-4) % 3, (-5) % 2, (-6) % 1]+-- > , ...+-- > ] tiersFractional :: Fractional a => [[a]]-tiersFractional = productWith (+) tiersFractionalParts- (mapT fromIntegral (tiers::[[Integer]]))- \/ [ [], [], [1/0], [-1/0] {- , [-0], [0/0] -} ]- where tiersFractionalParts :: Fractional a => [[a]]- tiersFractionalParts = [0]- : [ [fromIntegral a / fromIntegral b]- | b <- iterate (*2) 2, a <- [1::Integer,3..b] ]--- The position of Infinity in the above enumeration is arbitrary.+tiersFractional = mapT (\(x,y) -> fromInteger x / fromInteger y) . reset+ $ tiers `suchThat` \(n,d) -> d > 0 && n `gcd` d == 1 --- Note that this instance ignores NaN's.+-- | Tiers of 'Floating' values.+-- This can be used as the implementation of 'tiers' for 'Floating' types.+--+-- This function is equivalent to 'tiersFractional'+-- with positive and negative infinities included: 1/0 and -1/0.+--+-- > tiersFloating :: [[Float]] =+-- > [ [0.0]+-- > , [1.0]+-- > , [-1.0, Infinity]+-- > , [ 0.5, 2.0, -Infinity]+-- > , [-0.5, -2.0]+-- > , [ 0.33333334, 3.0]+-- > , [-0.33333334, -3.0]+-- > , [ 0.25, 0.6666667, 1.5, 4.0]+-- > , [-0.25, -0.6666667, -1.5, -4.0]+-- > , [ 0.2, 5.0]+-- > , [-0.2, -5.0]+-- > , [ 0.16666667, 0.4, 0.75, 1.3333334, 2.5, 6.0]+-- > , [-0.16666667, -0.4, -0.75, -1.3333334, -2.5, -6.0]+-- > , ...+-- > ]+--+-- @NaN@ and @-0@ are excluded from this enumeration.+tiersFloating :: Fractional a => [[a]]+tiersFloating = tiersFractional \/ [ [], [], [1/0], [-1/0] {- , [-0], [0/0] -} ]++-- | @NaN@ and @-0@ are not included in the list of 'Float's.+--+-- > list :: [Float] =+-- > [ 0.0+-- > , 1.0, -1.0, Infinity+-- > , 0.5, 2.0, -Infinity, -0.5, -2.0+-- > , 0.33333334, 3.0, -0.33333334, -3.0+-- > , 0.25, 0.6666667, 1.5, 4.0, -0.25, -0.6666667, -1.5, -4.0+-- > , ...+-- > ] instance Listable Float where- tiers = tiersFractional+ tiers = tiersFloating +-- | @NaN@ and @-0@ are not included in the list of 'Double's.+--+-- > list :: [Double] = [0.0, 1.0, -1.0, Infinity, 0.5, 2.0, ...] instance Listable Double where- tiers = tiersFractional+ tiers = tiersFloating +-- | > list :: [Ordering] = [LT, EQ, GT] instance Listable Ordering where tiers = cons0 LT \/ cons0 EQ \/ cons0 GT -- | 'map' over tiers+--+-- > mapT f [[x], [y,z], [w,...], ...] = [[f x], [f y, f z], [f w, ...], ...]+--+-- > mapT f [xs, ys, zs, ...] = [map f xs, map f ys, map f zs] mapT :: (a -> b) -> [[a]] -> [[b]] mapT = map . map -- | 'filter' tiers+--+-- > filterT p [xs, yz, zs, ...] = [filter p xs, filter p ys, filter p zs]+--+-- > filterT odd tiers = [[], [1], [-1], [], [], [3], [-3], [], [], [5], ...] filterT :: (a -> Bool) -> [[a]] -> [[a]] filterT f = map (filter f) @@ -280,35 +394,68 @@ -- | Delays the enumeration of 'tiers'. -- Conceptually this function adds to the weight of a constructor.+--+-- > delay [xs, ys, zs, ... ] = [[], xs, ys, zs, ...]+--+-- > delay [[x,...], [y,...], ...] = [[], [x,...], [y,...], ...]+-- -- Typically used when defining 'Listable' instances: ----- > delay (cons<N> <Constr>)+-- > instance Listable <Type> where+-- > tiers = ...+-- > \/ delay (cons<N> <Constructor>)+-- > \/ ... delay :: [[a]] -> [[a]] delay = ([]:) -- | Resets any delays in a list-of 'tiers'. -- Conceptually this function makes a constructor "weightless", -- assuring the first tier is non-empty.--- Typically used when defining Listable instances: ----- > reset (cons<N> <Constr>)+-- > reset [[], [], ..., xs, ys, zs, ...] = [xs, ys, zs, ...] --+-- > reset [[], xs, ys, zs, ...] = [xs, ys, zs, ...]+--+-- > reset [[], [], ..., [x], [y], [z], ...] = [[x], [y], [z], ...]+--+-- Typically used when defining 'Listable' instances:+--+-- > instance Listable <Type> where+-- > tiers = ...+-- > \/ reset (cons<N> <Constructor>)+-- > \/ ...+-- -- Be careful: do not apply @reset@ to recursive data structure -- constructors. In general this will make the list of size 0 infinite, -- breaking the 'tiers' invariant (each tier must be finite). reset :: [[a]] -> [[a]] reset = dropWhile null --- | Tiers of values that follow a property+-- | Tiers of values that follow a property. ----- > cons<N> `suchThat` condition+-- Typically used in the definition of 'Listable' tiers:+--+-- > instance Listable <Type> where+-- > tiers = ...+-- > \/ cons<N> `suchThat` <condition>+-- > \/ ...+--+-- Examples:+--+-- > > tiers `suchThat` odd+-- > [[], [1], [-1], [], [], [3], [-3], [], [], [5], ...]+--+-- > > tiers `suchThat` even+-- > [[0], [], [], [2], [-2], [], [], [4], [-4], [], ...]+--+-- This function is just a 'flip'ped version of `filterT`. suchThat :: [[a]] -> (a->Bool) -> [[a]] suchThat = flip filterT -- | Lazily interleaves two lists, switching between elements of the two. -- Union/sum of the elements in the lists. ----- > [x,y,z] +| [a,b,c] == [x,a,y,b,z,c]+-- > [x,y,z,...] +| [a,b,c,...] = [x,a,y,b,z,c,...] (+|) :: [a] -> [a] -> [a] [] +| ys = ys (x:xs) +| ys = x:(ys +| xs)@@ -316,7 +463,7 @@ -- | Append tiers --- sum of two tiers enumerations. ----- > [xs,ys,zs,...] \/ [as,bs,cs,...] = [xs++as,ys++bs,zs++cs,...]+-- > [xs,ys,zs,...] \/ [as,bs,cs,...] = [xs++as, ys++bs, zs++cs, ...] (\/) :: [[a]] -> [[a]] -> [[a]] xss \/ [] = xss [] \/ yss = yss@@ -326,7 +473,7 @@ -- | Interleave tiers --- sum of two tiers enumerations. -- When in doubt, use '\/' instead. ----- > [xs,ys,zs,...] \/ [as,bs,cs,...] = [xs+|as,ys+|bs,zs+|cs,...]+-- > [xs,ys,zs,...] \/ [as,bs,cs,...] = [xs+|as, ys+|bs, zs+|cs, ...] (\\//) :: [[a]] -> [[a]] -> [[a]] xss \\// [] = xss [] \\// yss = yss@@ -335,23 +482,23 @@ -- | Take a tiered product of lists of tiers. ----- > [t0,t1,t2,...] >< [u0,u1,u2,...] =--- > [ t0**u0--- > , t0**u1 ++ t1**u0--- > , t0**u2 ++ t1**u1 ++ t2**u0--- > , ... ... ... ...--- > ]--- > where xs ** ys = [(x,y) | x <- xs, y <- ys]+-- > [t0,t1,t2,...] >< [u0,u1,u2,...] =+-- > [ t0**u0+-- > , t0**u1 ++ t1**u0+-- > , t0**u2 ++ t1**u1 ++ t2**u0+-- > , ... ... ... ...+-- > ]+-- > where xs ** ys = [(x,y) | x <- xs, y <- ys] -- -- Example: ----- > [[0],[1],[2],...] >< [[0],[1],[2],...]--- > == [ [(0,0)]--- > , [(1,0),(0,1)]--- > , [(2,0),(1,1),(0,2)]--- > , [(3,0),(2,1),(1,2),(0,3)]--- > ...--- > ]+-- > [[0],[1],[2],...] >< [[0],[1],[2],...] =+-- > [ [(0,0)]+-- > , [(1,0),(0,1)]+-- > , [(2,0),(1,1),(0,2)]+-- > , [(3,0),(2,1),(1,2),(0,3)]+-- > , ...+-- > ] (><) :: [[a]] -> [[b]] -> [[(a,b)]] (><) = productWith (,) infixr 8 ><@@ -359,7 +506,7 @@ -- | Take a tiered product of lists of tiers. -- 'productWith' can be defined by '><', as: ----- > productWith f xss yss = map (uncurry f) $ xss >< yss+-- > productWith f xss yss = map (uncurry f) $ xss >< yss productWith :: (a->b->c) -> [[a]] -> [[b]] -> [[c]] productWith _ _ [] = [] productWith _ [] _ = []@@ -368,12 +515,16 @@ where xs ** ys = [x `f` y | x <- xs, y <- ys] -- | 'Testable' values are functions--- of 'Listable' arguments that return boolean values,--- e.g.:+-- of 'Listable' arguments that return boolean values. -- -- * @ Bool @ -- * @ Listable a => a -> Bool @--- * @ Listable a => a -> a -> Bool @+-- * @ (Listable a, Listable b) => a -> b -> Bool @+-- * @ (Listable a, Listable b, Listable c) => a -> b -> c -> Bool @+-- * @ (Listable a, Listable b, Listable c, ...) => a -> b -> c -> ... -> Bool @+--+-- For example:+-- -- * @ Int -> Bool @ -- * @ String -> [Int] -> Bool @ class Testable a where@@ -393,10 +544,34 @@ -- argument values for the property. Each boolean paired with such a list -- indicates whether the property holds for this choice. The outer list is -- potentially infinite and lazily evaluated.+--+-- > > results (<)+-- > [ (["0","0"], False)+-- > , (["0","1"], True)+-- > , (["1","0"], False)+-- > , (["0","(-1)"], False)+-- > , (["1","1"], False)+-- > , (["(-1)","0"], True)+-- > , (["0","2"], True)+-- > , (["1","(-1)"], False)+-- > , ...+-- > ]+--+-- > > take 10 $ results (\xs -> xs == nub (xs :: [Int]))+-- > [ (["[]"], True)+-- > , (["[0]"], True)+-- > , (["[0,0]"], False)+-- > , (["[1]"], True)+-- > , (["[0,0,0]"], False)+-- > , ...+-- > ] results :: Testable a => a -> [([String],Bool)] results = concat . resultiers -- | Lists all counter-examples for a number of tests to a property,+--+-- > > counterExamples 12 $ \xs -> xs == nub (xs :: [Int])+-- > [["[0,0]"],["[0,0,0]"],["[0,0,0,0]"],["[0,0,1]"],["[0,1,0]"]] counterExamples :: Testable a => Int -> a -> [[String]] counterExamples n p = [as | (as,False) <- take n (results p)] @@ -404,18 +579,24 @@ -- returns 'Just' the first counter-example -- or 'Nothing' if there is none. ----- > counterExample 100 $ \xs -> [] `union` xs == (xs::[Int])--- > -- > Just ["[0,0]"]+-- > > counterExample 100 $ \xs -> [] `union` xs == (xs::[Int])+-- > Just ["[0,0]"] counterExample :: Testable a => Int -> a -> Maybe [String] counterExample n = listToMaybe . counterExamples n --- | Lists all witnesses up to a number of tests to a property,+-- | Lists all witnesses up to a number of tests to a property.+--+-- > > witnesses 1000 (\x -> x > 1 && x < 77 && 77 `rem` x == 0)+-- > [["7"],["11"]] witnesses :: Testable a => Int -> a -> [[String]] witnesses n p = [as | (as,True) <- take n (results p)] -- | Up to a number of tests to a property, -- returns 'Just' the first witness -- or 'Nothing' if there is none.+--+-- > > witness 1000 (\x -> x > 1 && x < 77 && 77 `rem` x == 0)+-- > Just ["7"] witness :: Testable a => Int -> a -> Maybe [String] witness n = listToMaybe . witnesses n @@ -450,6 +631,12 @@ -- | Boolean implication operator. Useful for defining conditional properties: -- -- > prop_something x y = condition x y ==> something x y+--+-- Examples:+--+-- > > prop_addMonotonic x y = y > 0 ==> x + y > x+-- > > check prop_addMonotonic+-- > +++ OK, passed 200 tests. (==>) :: Bool -> Bool -> Bool False ==> _ = True True ==> p = p
src/Test/LeanCheck/Function.hs view
@@ -11,8 +11,36 @@ -- These can be useful for testing higher-order properties --- properties that -- take functions as arguments. --+-- > > import Test.LeanCheck+-- > > import Test.LeanCheck.Function+--+-- > > check $ \f p xs -> filter p (map f xs) == map f (filter p xs :: [Int])+-- > *** Failed! Falsifiable (after 36 tests):+-- > \_ -> 0+-- > \x -> case x of+-- > 0 -> True+-- > _ -> False+-- > [1]+--+-- > > check $ \f p xs -> filter p (map f xs) == map f (filter p xs :: [Bool])+-- > *** Failed! Falsifiable (after 20 tests):+-- > \_ -> False+-- > \x -> case x of+-- > False -> False+-- > True -> True+-- > [True]+--+-- > > check $ \f z xs -> foldr f z xs == foldl f z (xs :: [Int])+-- > *** Failed! Falsifiable (after 75 tests):+-- > \x _ -> case x of+-- > 0 -> 1+-- > _ -> 0+-- > 0+-- > [0,0]+-- -- Warning: this is only intended to be used in testing modules. Avoid -- importing this on modules that are used as libraries. module Test.LeanCheck.Function () where+import Test.LeanCheck.Core (Listable) -- for Haddock import Test.LeanCheck.Function.Listable () import Test.LeanCheck.Function.Show ()
− src/Test/LeanCheck/Function/CoListable.hs
@@ -1,108 +0,0 @@--- |--- Module : Test.LeanCheck.Function.CoListable--- Copyright : (c) 2015-2018 Rudy Matela--- License : 3-Clause BSD (see the file LICENSE)--- Maintainer : Rudy Matela <rudy@matela.com.br>------ This module is part of LeanCheck,--- a simple enumerative property-based testing library.------ This module exports functions to define a 'Listable' instance for function--- enumeration by means of a 'CoListable' typeclass. This is very similar to--- the coseries enumeration of SmallCheck.------ This module /does not currently work/, it it just a sketch and a stub.-module Test.LeanCheck.Function.CoListable- ( CoListable (..)- )-where---import Test.LeanCheck-import Test.LeanCheck.Tiers-import Test.LeanCheck.Utils (Nat(..), Nat2(..), Nat3(..))-import Data.Maybe (fromMaybe)---(\+:/) :: [[a]] -> [[a]] -> [[a]]-xss \+:/ yss = xss \/ ([]:yss)-infixr 9 \+:/----- | This _does not currently work_. Its just a sketch and a stub.------ Generation of 'Listable' functions using 'cotiers'.--- This is similar to SmallCheck's coseries.------ The current implementation generates repetitions.-class CoListable a where- cotiers :: [[b]] -> [[a -> b]]---instance CoListable () where- cotiers rs = mapT (\r () -> r) rs---instance CoListable Bool where- cotiers rs = productWith (\r1 r2 b -> if b then r1 else r2) rs rs---instance CoListable a => CoListable (Maybe a) where- cotiers rs = productWith (\z f m -> case m of- Nothing -> z- Just x -> f x) rs (cotiers rs)---instance (CoListable a, CoListable b) => CoListable (Either a b) where- cotiers rs = productWith (\f g e -> case e of- Left x -> f x- Right x -> g x) (cotiers rs) (cotiers rs)---instance (CoListable a) => CoListable [a] where- cotiers rss = mapT const rss- \+:/ productWith- (\y f xs -> case xs of- [] -> y- (x:xs') -> f x xs')- rss- (cotiers (cotiers rss))---instance (CoListable a, CoListable b) => CoListable (a,b) where- cotiers = mapT uncurry . cotiers . cotiers---instance CoListable Int where- cotiers rss = mapT const rss- \+:/ productWith- (\f g i -> if i >= 0 then f (i-1) else g (i+1))- (cotiers rss) (cotiers rss)--instance CoListable Nat where- cotiers rss = mapT const rss- \+:/ productWith- (\f g i -> if even i then f (i`div`2) else g (i`div`2))- (cotiers rss) (cotiers rss)--instance CoListable Nat2 where- cotiers rss = (\rs x -> rs !! fromIntegral x) `mapT` products [rss,rss]--instance CoListable Nat3 where- cotiers rss = (\rs x -> rs !! fromIntegral x) `mapT` products [rss,rss,rss]---alts0 :: [[a]] -> [[a]]-alts0 = id--alts1 :: CoListable a => [[b]] -> [[a->b]]-alts1 bs = cotiers bs--alts2 :: (CoListable a, CoListable b) => [[c]] -> [[a->b->c]]-alts2 cs = cotiers (cotiers cs)--alts3 :: (CoListable a, CoListable b, CoListable c) => [[d]] -> [[a->b->c->d]]-alts3 ds = cotiers (cotiers (cotiers ds))--ftiers :: (CoListable a, Listable b) => [[a->b]]-ftiers = cotiers tiers
src/Test/LeanCheck/Function/Listable.hs view
@@ -9,23 +9,14 @@ -- -- This module exports a 'Listable' instance for functions. ----- LeanCheck provides several alternative definitions of 'Listable' functions:+-- LeanCheck provides one definition of 'Listable' functions: -- -- * "Test.LeanCheck.Function.Listable.ListsOfPairs": -- considers functions as a finite list of exceptional input-output cases to -- a default value (list of pairs of arguments and results). -- This is the LeanCheck default, and is the one exported by this module. ----- * "Test.LeanCheck.Function.Listable.CoListable":--- declares a 'CoListable' typeclass similar to SmallCheck's @CoSerial@.--- Currently a stub.------ * "Test.LeanCheck.Function.Listable.Periodic":--- similar to ListsOfPairs, but instead of having a default value, functions--- are periodic.------ Take care: all the above 'Listable' instances are __experimental__. Only--- one of the above can be imported at a time.+-- In the future, alternative instances could be provided in sub-modules. -- -- Warning: this is only intended to be used in testing modules. Avoid -- importing this on modules that are used as libraries.
− src/Test/LeanCheck/Function/Listable/CoListable.hs
@@ -1,21 +0,0 @@--- |--- Module : Test.LeanCheck.Function.Listable.CoListable--- Copyright : (c) 2015-2018 Rudy Matela--- License : 3-Clause BSD (see the file LICENSE)--- Maintainer : Rudy Matela <rudy@matela.com.br>------ This module is part of LeanCheck,--- a simple enumerative property-based testing library.------ This module exports a 'Listable' instance for function enumeration by means--- of a 'CoListable' typeclass. This is very similar to the coseries--- enumeration of SmallCheck.------ This module /does not currently work/, it it just a sketch and a stub.-module Test.LeanCheck.Function.Listable.CoListable () where--import Test.LeanCheck.Core-import Test.LeanCheck.Function.CoListable--instance (CoListable a, Listable b) => Listable (a -> b) where- tiers = cotiers tiers
− src/Test/LeanCheck/Function/Listable/FunListable.hs
@@ -1,136 +0,0 @@--- |--- Module : Test.LeanCheck.FunListable--- Copyright : (c) 2015-2018 Rudy Matela--- License : 3-Clause BSD (see the file LICENSE)--- Maintainer : Rudy Matela <rudy@matela.com.br>------ This module is part of LeanCheck,--- a simple enumerative property-based testing library.------ This module exports a 'Listable' instance for function enumeration by means--- of a 'FunListable' typeclass (similar to 'CoListable').------ This module /does not currently work/, it it just a sketch and a stub.-module Test.LeanCheck.Function.Listable.FunListable (FunListable (..)) where---import Test.LeanCheck-import Test.LeanCheck.Tiers-import Test.LeanCheck.Utils (Nat(..), Nat2(..), Nat3(..))-import Data.Maybe (fromMaybe)---sndArgTypeOf :: b -> (a -> b -> c) -> b-x `sndArgTypeOf` _ = x---instance (FunListable a, Listable b) => Listable (a -> b) where- tiers = concatMapT mkfss funtiers- where- mkfss (n, mkf) = mapT mkf (products (replicate n tiers)- `suchThat` validResults (undefined `sndArgTypeOf` mkf))---(\+:/) :: [[a]] -> [[a]] -> [[a]]-xss \+:/ yss = xss \/ ([]:yss)-infixr 9 \+:/----- | This typeclass _does not currently work_. It is a stub and a sketch.------ 'FunListable' is similar to 'CoListable' but a bit more complex to avoid--- some repetitions.-class FunListable a where- validResults :: a -> [b] -> Bool- validResults x = not . invalidResults x- invalidResults :: a -> [b] -> Bool- invalidResults x = not . validResults x- funtiers :: [[ (Int, [b] -> (a -> b)) ]]---- maybe the other function FunListable needs is a okResults that checks if--- results follow required pattern for each type:--- * for lists, there shouldnt be repeated element suffix--- a,a,a,a,a,b is ok--- a,b,c,d,e,e is not ok.--- * for integers, there shouldnt be adjacent repeated elements--- a,b,a,b,a,b,a,b is ok--- a,b,c,d,e,f,f,g is not ok--- of course, this for the enumeration where I have the points.--- * for pairs, apply the invariants accordingly in the matrix (is that--- possible?)--- I think it is. Apply one invariant to columns, the other to lines.--instance FunListable () where- validResults _ _ = True- funtiers = [[ (1, \[r] () -> r) ]]---instance FunListable Bool where- validResults _ _ = True- funtiers = [[ (2, \[r1,r2] b -> if b then r1 else r2) ]]---- have funtiers = [[ (1, \[r1] b -> r1) ]--- ,[ (1, \[r1] b -> if b then r1 else not r1 ]--- ]---instance FunListable a => FunListable (Maybe a) where- validResults _ _ = True- funtiers = mapT (\(n, mkf) -> (n+1, \(r:rs) m -> case m of- Nothing -> r- Just x -> mkf rs x)) funtiers---instance (FunListable a, FunListable b) => FunListable (Either a b) where- validResults _ _ = True- funtiers = productWith- (\(nf, mf) (ng, mg) -> (nf + ng, \rs e -> case e of- Left x -> mf (take nf rs) x- Right y -> mg (drop nf rs) y))- funtiers- funtiers----- NOTE: big problem: adding r1 == r2 below instroduces an Eq restriction on--- the result type. Which does not exist for (a->b). Maybe create a new--- typeclass: FunResult, then rename FunListable to FunArg. This way we can--- have the equality check (or any other special checks) for types that have--- equality and ignore it for types that don't.-instance (FunListable a) => FunListable [a] where- validResults _ [r1,r2] {- -- | r1 == r2 -} = False -- The results cannot end with repetitions- validResults x (r:rs) = validResults x rs- validResults _ _ = True- funtiers = [[ (1, \[r] xs -> r) ]]- \+:/ mapT (\(n, f) -> (1 + n, \(r:rs) xs -> case xs of- [] -> r- (x:xs) -> f rs (x,xs))) funtiers---instance (FunListable a, FunListable b) => FunListable (a,b) where- validResults _ _ = True -- TODO: check lines and columns- funtiers = productWith (\(n, f) (m, g)- -> (n*m, \rs (x,y) -> toMatrix m rs- !! f [0..(n-1)] x- !! g [0..(m-1)] y))- funtiers- funtiers---toMatrix :: Int -> [a] -> [[a]]-toMatrix n [] = []-toMatrix n xs = take n xs- : toMatrix n (drop n xs)---instance FunListable Int where- funtiers = [[]] -- TODO: implement funtiers :: [[...Int...]]- -- mapT (... findInterval something ...) tiers--instance FunListable Nat where- funtiers = [[]] -- TODO: implement funtiers :: [[...Nat...]]--instance FunListable Nat2 where- funtiers = [[]] -- TODO: implement funtiers :: [[...Nat2...]]--instance FunListable Nat3 where- funtiers = [[]] -- TODO: implement funtiers :: [[...Nat3...]]
− src/Test/LeanCheck/Function/Listable/Mixed.hs
@@ -1,20 +0,0 @@--- |--- Module : Test.LeanCheck.Function.Mixed--- Copyright : (c) 2015-2018 Rudy Matela--- License : 3-Clause BSD (see the file LICENSE)--- Maintainer : Rudy Matela <rudy@matela.com.br>------ This module is part of LeanCheck,--- a simple enumerative property-based testing library.------ This module exports a 'Listable' instance for function enumeration--- by combining several enumeration strategies.-module Test.LeanCheck.Function.Listable.Mixed () where--import Test.LeanCheck.Core-import Test.LeanCheck.Function.ListsOfPairs-import Test.LeanCheck.Function.CoListable--instance (Eq a, Listable a, CoListable a, Listable b) => Listable (a -> b) where- tiers = tiers -->> tiers- \/ cotiers tiers
− src/Test/LeanCheck/Function/Listable/Periodic.hs
@@ -1,56 +0,0 @@--- |--- Module : Test.LeanCheck.Function.Periodic--- Copyright : (c) 2015-2018 Rudy Matela--- License : 3-Clause BSD (see the file LICENSE)--- Maintainer : Rudy Matela <rudy@matela.com.br>------ This module is part of LeanCheck,--- a simple enumerative property-based testing library.------ This module exports a 'Listable' instance for enumeration of periodic--- functions.------ This module /barely works/ and is just a sketch.-module Test.LeanCheck.Function.Listable.Periodic () where---import Test.LeanCheck-import Data.List (inits)---instance (Eq a, Eq b, Listable a, Listable b) => Listable (a -> b) where- tiers = mapT pairsToFunction $ functions list tiers--functions :: Eq b => [a] -> [[b]] -> [[[(a,b)]]]-functions xs yss = mapT (zip xs . cycle) $ lsPeriodsOfLimit xs yss--functionsz :: Eq b => [[a]] -> [[b]] -> [[[(a,b)]]]-functionsz xss = functions (concat xss)---lsPeriodsOf :: Eq a => [[a]] -> [[[a]]]-lsPeriodsOf xss = map (filter isPeriod) (listsOf xss)--lsPeriodsOfLimit :: Eq a => [b] -> [[a]] -> [[[a]]]-lsPeriodsOfLimit ys xss = map (filter isPeriod) (tiersOfLimit ys xss)---isPeriod :: Eq a => [a] -> Bool-isPeriod [] = False-isPeriod [x] = True-isPeriod xs = not $ any (`isPeriodOf` xs) $ (tail . init . inits) xs--isPeriodOf :: Eq a => [a] -> [a] -> Bool-xs `isPeriodOf` ys = length ys `mod` length xs == 0- && and (zipWith (==) (cycle xs) ys)---tiersOfLimit :: [b] -> [[a]] -> [[[a]]]-tiersOfLimit [] xss = [[[]]]-tiersOfLimit (_:ys) xss = [[[]]] ++ productWith (:) xss (tiersOfLimit ys xss)---pairsToFunction :: Eq a => [(a,b)] -> (a -> b)-pairsToFunction ((x,y):ps) x' = if x' == x- then y- else pairsToFunction ps x'
src/Test/LeanCheck/Function/Show.hs view
@@ -7,14 +7,69 @@ -- This module is part of LeanCheck, -- a simple enumerative property-based testing library. ----- A 'Show' instance for functions.+-- This module exports an orphan 'Show' instance for functions.+-- It shows functions as up to 8 case distinctions, one per line. ----- Warning: this is only intended to be used in testing modules. Avoid--- importing this on modules that are used as libraries.+-- /Warning: this is only intended to be used in testing modules./+-- /Avoid importing this on modules that are used as libraries./+--+-- This is intended to 'Show' functions generated by the 'Listable' instance+-- for functions defined in "Test.LeanCheck.Function.Listable": functions that+-- have finite exceptions to a constant function. It does work on other types+-- of functions, albeit using @"..."@.+--+-- > > print (&&)+-- > \x y -> case (x,y) of+-- > (True,True) -> True+-- > _ -> False+--+-- > > print (==>)+-- > \x y -> case (x,y) of+-- > (True,False) -> False+-- > _ -> True+--+-- > > print (==2)+-- > \x -> case x of+-- > 2 -> True+-- > _ -> False+--+-- > > print (\x -> abs x < 2)+-- > \x -> case x of+-- > 0 -> True+-- > 1 -> True+-- > -1 -> True+-- > _ -> False+--+-- When the function cannot be defined by finite exceptions to a constant+-- function using 8 case-patterns, the rest of the function is represented by+-- @"..."@.+--+-- > > print (+)+-- > \x y -> case (x,y) of+-- > (0,0) -> 0+-- > (0,1) -> 1+-- > (1,0) -> 1+-- > (0,-1) -> -1+-- > (1,1) -> 2+-- > (-1,0) -> -1+-- > (0,2) -> 2+-- > (1,-1) -> 0+-- > ...+--+-- The exported orphan 'Show' '->' instance is actually defined in+-- "Test.LeanCheck.Function.Show.EightLines". An alternative is provided in+-- "Test.LeanCheck.Function.Show.FourCases".+--+-- The exported 'Show' instance only works for functions whose ultimate return+-- types are instances of 'Test.LeanCheck.Function.ShowFunction.ShowFunction'.+-- For user-defined algebraic datatypes that are instances of 'Show', their+-- ShowFunction instance can be defined by using+-- 'Test.LeanCheck.Function.ShowFunction.bindtiersShow':+--+-- > import Test.LeanCheck.Function.ShowFunction+-- >+-- > instance ShowFunction Ty where+-- > bindtiers = bindtiersShow module Test.LeanCheck.Function.Show () where -import Test.LeanCheck.Function.ShowFunction--instance (Show a, Listable a, ShowFunction b) => Show (a->b) where- showsPrec _ = (++) . showFunction 8-+import Test.LeanCheck.Function.Show.EightLines ()
+ src/Test/LeanCheck/Function/Show/EightLines.hs view
@@ -0,0 +1,72 @@+-- |+-- Module : Test.LeanCheck.Function.Show.EightLines+-- Copyright : (c) 2015-2018 Rudy Matela+-- License : 3-Clause BSD (see the file LICENSE)+-- Maintainer : Rudy Matela <rudy@matela.com.br>+--+-- This module is part of LeanCheck,+-- a simple enumerative property-based testing library.+--+-- This module exports an orphan 'Show' instance for functions.+-- It shows functions as up to 8 case distinctions, one per line.+--+-- Please see "Test.LeanCheck.Function.Show.FourCases" for an alternative that+-- shows functions as up to 4 case distinctions in a single line.+--+-- The 'Show' '->' instance only works for functions of which ultimate return+-- types are instances of the 'ShowFunction' typeclass. Please see+-- "Test.LeanCheck.Function.ShowFunction" for how to define these instances for+-- your user-defined algebraic datatypes.+--+-- Warning: this is only intended to be used in testing modules. Avoid+-- importing this on modules that are used as libraries.+module Test.LeanCheck.Function.Show.EightLines () where++import Test.LeanCheck.Function.ShowFunction++-- | A multi-line show instance for functions.+--+-- This is intended to 'Show' functions generated by the 'Listable' instance+-- for functions defined in "Test.LeanCheck.Function.Listable": functions that+-- have finite exceptions to a constant function. It does work on other types+-- of functions, albeit using @"..."@.+--+-- > > print (&&)+-- > \x y -> case (x,y) of+-- > (True,True) -> True+-- > _ -> False+--+-- > > print (==>)+-- > \x y -> case (x,y) of+-- > (True,False) -> False+-- > _ -> True+--+-- > > print (==2)+-- > \x -> case x of+-- > 2 -> True+-- > _ -> False+--+-- > > print (\x -> abs x < 2)+-- > \x -> case x of+-- > 0 -> True+-- > 1 -> True+-- > -1 -> True+-- > _ -> False+--+-- When the function cannot be defined by finite exceptions to a constant+-- function using 8 case-patterns, the rest of the function is represented by+-- @"..."@.+--+-- > > print (+)+-- > \x y -> case (x,y) of+-- > (0,0) -> 0+-- > (0,1) -> 1+-- > (1,0) -> 1+-- > (0,-1) -> -1+-- > (1,1) -> 2+-- > (-1,0) -> -1+-- > (0,2) -> 2+-- > (1,-1) -> 0+-- > ...+instance (Show a, Listable a, ShowFunction b) => Show (a->b) where+ showsPrec _ = (++) . showFunction 8
+ src/Test/LeanCheck/Function/Show/FourCases.hs view
@@ -0,0 +1,53 @@+-- |+-- Module : Test.LeanCheck.Function.Show.FourCases+-- Copyright : (c) 2015-2018 Rudy Matela+-- License : 3-Clause BSD (see the file LICENSE)+-- Maintainer : Rudy Matela <rudy@matela.com.br>+--+-- This module is part of LeanCheck,+-- a simple enumerative property-based testing library.+--+-- This module exports an orphan 'Show' instance for functions.+-- It shows functions as up to 4 case distinctions in a single line.+--+-- Please see "Test.LeanCheck.Function.Show.EightLines" for an alternative that+-- shows functions as up to 8 case distinctions, one per line.+--+-- The 'Show' '->' instance only works for functions of which ultimate return+-- types are instances of the 'ShowFunction' typeclass. Please see+-- "Test.LeanCheck.Function.ShowFunction" for how to define these instances for+-- your user-defined algebraic datatypes.+--+-- Warning: this is only intended to be used in testing modules. Avoid+-- importing this on modules that are used as libraries.+module Test.LeanCheck.Function.Show.FourCases () where++import Test.LeanCheck.Function.ShowFunction++-- | A single-line show instance for functions.+--+-- This is intended to 'Show' functions generated by the 'Listable' instance+-- for functions defined in "Test.LeanCheck.Function.Listable": functions that+-- have finite exceptions to a constant function. It does work on other types+-- of functions, albeit using @"..."@.+--+-- > > print (&&)+-- > \x y -> case (x,y) of (True,True) -> True; _ -> False+--+-- > > print (==>)+-- > \x y -> case (x,y) of (True,False) -> False; _ -> True+--+-- > > print (==2)+-- > \x -> case x of 2 -> True; _ -> False+--+-- > > print (\x -> abs x < 2)+-- > \x -> case x of 0 -> True; 1 -> True; -1 -> True; _ -> False+--+-- When the function cannot be defined by finite exceptions to a constant+-- function using 8 case-patterns, the rest of the function is represented by+-- @"..."@.+--+-- > > print (+)+-- > \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,-1) -> -1; ...+instance (Show a, Listable a, ShowFunction b) => Show (a->b) where+ showsPrec d = showParen (d>10) . (++) . showFunctionLine 4
src/Test/LeanCheck/Function/ShowFunction.hs view
@@ -11,7 +11,7 @@ -- its instances and related functions. -- -- Using this module, it is possible to implement--- a Show instance for functions:+-- a 'Show' instance for functions: -- -- > import Test.LeanCheck.ShowFunction -- > instance (Show a, Listable a, ShowFunction b) => Show (a->b) where@@ -19,16 +19,36 @@ -- -- This shows functions as a case pattern with up to 8 cases. ----- The module--- @Test.LeanCheck.Function.Show@ ('Test.LeanCheck.Function.Show')+-- It will only work for functions whose ultimate return value is an instance+-- of 'ShowFunction'. This module provides instances for most standard data+-- types ('Int', 'Bool', 'Maybe', ...). Please see the 'ShowFunction'+-- typeclass documentation for how to declare istances for user-defined data+-- types.+--+-- The modules+-- "Test.LeanCheck.Function"+-- and+-- "Test.LeanCheck.Function.Show" -- exports an instance like the one above. module Test.LeanCheck.Function.ShowFunction- ( showFunction+ (+ -- * Showing functions+ showFunction , showFunctionLine++ -- * Support for user-defined algebraic datatypes on return values+ , ShowFunction (..)+ , bindtiersShow++ -- * Listing functional bindings , Binding , bindings- , ShowFunction (..)- , tBindingsShow++ -- * Pipeline for explaining, describing and clarifying bindings+ , explainedBindings+ , describedBindings+ , clarifiedBindings+ -- * Re-exports , Listable )@@ -37,59 +57,133 @@ import Test.LeanCheck.Core import Test.LeanCheck.Error (errorToNothing) import Test.LeanCheck.Utils.Types-import Data.List+import Test.LeanCheck.Stats (classifyOn)+import Data.List (intercalate, sortBy) import Data.Maybe+import Data.Function (on) -- | A functional binding in a showable format.+-- Argument values are represented as a list of strings.+-- The result value is represented by 'Just' a 'String' when defined+-- or by 'Nothing' when 'undefined'. type Binding = ([String], Maybe String) -- | 'ShowFunction' values are those for which -- we can return a list of functional bindings. ----- As a user, you probably want 'showFunction' and 'showFunctionLine'.------ Non functional instances should be defined by:+-- Instances for 'show'able algebraic datatypes are defined using+-- 'bindtiersShow': ----- > instance ShowFunction Ty where tBindings = tBindingsShow+-- > instance ShowFunction Ty where bindtiers = bindtiersShow class ShowFunction a where- tBindings :: a -> [[Binding]]+ bindtiers :: a -> [[Binding]] --- | Given a 'ShowFunction' value, return a list of bindings--- for printing. Examples:+-- | Given a 'ShowFunction' value, return a list of 'Binding's.+-- If the domain of the given argument function is infinite,+-- the resulting list is infinite. ----- > bindings True == [([],True)]--- > bindings (id::Int) == [(["0"],"0"), (["1"],"1"), (["-1"],"-1"), ...--- > bindings (&&) == [ (["False","False"], "False")--- > , (["False","True"], "False")--- > , (["True","False"], "False")--- > , (["True","True"], "True")--- > ]+-- Some examples follow. These are used as running examples in the definition+-- of 'explainedBindings', 'describedBindings' and 'clarifiedBindings'.+--+-- * Defined return values are represented as 'Just' 'String's:+--+-- > > bindings True+-- > [([],Just "True")]+--+-- * Undefined return values are represented as @Nothing@:+--+-- > > bindings undefined+-- > [([],Nothing)]+--+-- * Infinite domains result in an infinite bindings list:+--+-- > > bindings (id::Int->Int)+-- > [ (["0"], Just "0")+-- > , (["1"], Just "1")+-- > , (["-1"], Just "-1")+-- > , ...+-- > ]+--+-- * Finite domains result in a finite bindings list:+--+-- > > bindings (&&)+-- > [ (["False","False"], Just "False")+-- > , (["False","True"], Just "False")+-- > , (["True","False"], Just "False")+-- > , (["True","True"], Just "True")+-- > ]+--+-- > > bindings (||)+-- > [ (["False","False"], Just "False")+-- > , (["False","True"], Just "True")+-- > , (["True","False"], Just "True")+-- > , (["True","True"], Just "True")+-- > ]+--+-- * Even very simple functions are represented by an infinite list of bindings:+--+-- > > bindings (== 0)+-- > [ (["0"], Just "True")+-- > , (["1"], Just "False")+-- > , (["-1"], Just "False")+-- > , ...+-- > ]+--+-- > > bindings (== 1)+-- > [ (["0"], Just "False")+-- > , (["1"], Just "True")+-- > , (["-1"], Just "False")+-- > , ...+-- > ]+--+-- * Ignored arguments are still listed:+--+-- > > bindings ((\_ y -> y == 1) :: Int -> Int -> Bool)+-- > [ (["0","0"], Just "False")+-- > , (["0","1"], Just "True")+-- > , (["1","0"], Just "False")+-- > , ...+-- > ]+--+-- * Again, undefined values are represented as 'Nothing'.+-- Here, the 'head' of an empty list is undefined:+--+-- > > bindings (head :: [Int] -> Int)+-- > [ (["[]"], Nothing)+-- > , (["[0]"], Just "0")+-- > , (["[0,0]"], Just "0")+-- > , (["[1]"], Just "1")+-- > , ...+-- > ] bindings :: ShowFunction a => a -> [Binding]-bindings = concat . tBindings+bindings = concat . bindtiers --- instances for (algebraic/numeric) data types ----- | A default implementation of tBindings for already 'Show'-able types.-tBindingsShow :: Show a => a -> [[Binding]]-tBindingsShow x = [[([],errorToNothing $ show x)]]+-- | A drop-in implementation of 'bindtiers' for 'show'able types.+--+-- Define instances for 'show'able algebraic datatypes as:+--+-- > instance ShowFunction Ty where bindtiers = bindtiersShow+bindtiersShow :: Show a => a -> [[Binding]]+bindtiersShow x = [[([],errorToNothing $ show x)]] -instance ShowFunction () where tBindings = tBindingsShow-instance ShowFunction Bool where tBindings = tBindingsShow-instance ShowFunction Int where tBindings = tBindingsShow-instance ShowFunction Integer where tBindings = tBindingsShow-instance ShowFunction Char where tBindings = tBindingsShow-instance ShowFunction Float where tBindings = tBindingsShow-instance ShowFunction Double where tBindings = tBindingsShow-instance ShowFunction Ordering where tBindings = tBindingsShow-instance Show a => ShowFunction [a] where tBindings = tBindingsShow-instance Show a => ShowFunction (Maybe a) where tBindings = tBindingsShow-instance (Show a, Show b) => ShowFunction (Either a b) where tBindings = tBindingsShow-instance (Show a, Show b) => ShowFunction (a,b) where tBindings = tBindingsShow+instance ShowFunction () where bindtiers = bindtiersShow+instance ShowFunction Bool where bindtiers = bindtiersShow+instance ShowFunction Int where bindtiers = bindtiersShow+instance ShowFunction Integer where bindtiers = bindtiersShow+instance ShowFunction Char where bindtiers = bindtiersShow+instance ShowFunction Float where bindtiers = bindtiersShow+instance ShowFunction Double where bindtiers = bindtiersShow+instance ShowFunction Ordering where bindtiers = bindtiersShow+instance Show a => ShowFunction [a] where bindtiers = bindtiersShow+instance Show a => ShowFunction (Maybe a) where bindtiers = bindtiersShow+instance (Show a, Show b) => ShowFunction (Either a b) where bindtiers = bindtiersShow+instance (Show a, Show b) => ShowFunction (a,b) where bindtiers = bindtiersShow -- instance for functional value type -- instance (Show a, Listable a, ShowFunction b) => ShowFunction (a->b) where- tBindings f = concatMapT tBindingsFor tiers- where tBindingsFor x = mapFst (show x:) `mapT` tBindings (f x)+ bindtiers f = concatMapT bindtiersFor tiers+ where bindtiersFor x = mapFst (show x:) `mapT` bindtiers (f x) mapFst f (x,y) = (f x, y) paren :: String -> String@@ -100,16 +194,18 @@ where varnames = ["x","y","z","w"] ++ map (++"'") varnames showTuple :: [String] -> String-showTuple [x] = x-showTuple xs = paren $ intercalate "," xs+showTuple [x] = x+showTuple xs | all (== "_") xs = "_"+ | otherwise = paren $ intercalate "," xs -showNBindingsOf :: ShowFunction a => Int -> Int -> a -> [String]-showNBindingsOf m n f = take n bs- ++ ["..." | length bs' >= m || length bs > n]- where bs' = take m $ bindings f- bs = [ showTuple as ++ " -> " ++ r- | (as, Just r) <- bs' ]+showBindings :: [Binding] -> [String]+showBindings bs = [ showTuple as ++ " -> " ++ r | (as, Just r) <- bs ] +showNBindings :: Bool -> Int -> [Binding] -> [String]+showNBindings infinite n bs' = take n bs ++ ["..." | infinite || length bs > n]+ where+ bs = showBindings bs'+ isValue :: ShowFunction a => a -> Bool isValue f = case bindings f of [([],_)] -> True@@ -120,86 +216,389 @@ Nothing -> "undefined" Just x' -> x' --- | Given a number of patterns to show, shows a 'ShowFunction' value.+-- | Given the number of patterns to show, shows a 'ShowFunction' value. ----- > showFunction undefined True == "True"--- > showFunction 3 (id::Int) == "\\x -> case x of\n\--- > \ 0 -> 0\n\--- > \ 1 -> 1\n\--- > \ -1 -> -1\n\--- > \ ...\n"--- > showFunction 4 (&&) == "\\x y -> case (x,y) of\n\--- > \ (False,False) -> False\n\--- > \ (False,True) -> False\n\--- > \ (True,False) -> False\n\--- > \ (True,True) -> True\n"+-- > > putStrLn $ showFunction undefined True+-- > True+-- >+-- > > putStrLn $ showFunction 3 (id::Int->Int)+-- > \x -> case x of+-- > 0 -> 0+-- > 1 -> 1+-- > -1 -> -1+-- > ...+-- >+-- > > putStrLn $ showFunction 4 (&&)+-- > \x y -> case (x,y) of+-- > (True,True) -> True+-- > _ -> False+-- > ----- This can be used as an implementation of show for functions:+-- In the examples above, "@...@" should be interpreted literally. --+-- This can be used as an implementation of 'show' for functions:+-- -- > instance (Show a, Listable a, ShowFunction b) => Show (a->b) where -- > show = showFunction 8+--+-- See 'showFunctionLine' for an alternative without line breaks. showFunction :: ShowFunction a => Int -> a -> String showFunction n = showFunctionL False (n*n+1) n --- | Same as showFunction, but has no line breaks.+-- | Same as 'showFunction', but has no line breaks. ----- > showFunction 2 (id::Int) == "\\x -> case x of 0 -> 0; 1 -> 1; ..."+-- > > putStrLn $ showFunctionLine 3 (id::Int->Int)+-- > \x -> case x of 0 -> 0; 1 -> 1; -1 -> -1; ...+-- > > putStrLn $ showFunctionLine 3 (&&)+-- > \x y -> case (x,y) of (True,True) -> True; _ -> False+--+-- This can be used as an implementation of 'show' for functions:+--+-- > instance (Show a, Listable a, ShowFunction b) => Show (a->b) where+-- > show = showFunction 8 showFunctionLine :: ShowFunction a => Int -> a -> String showFunctionLine n = showFunctionL True (n*n+1) n --- | isUndefined checks if a function is totally undefined.--- When it is not possible to check all values, it returns false+-- | isUndefined checks if a function is totally undefined+-- for the given maximum number of values isUndefined :: ShowFunction a => Int -> a -> Bool-isUndefined m f = length bs < m && all (isNothing . snd) bs- where bs = take m $ bindings f+isUndefined m = all (isNothing . snd) . take m . bindings +-- | checks if a function is constant+-- for the given maximum number of values+isConstant :: ShowFunction a => Int -> a -> Bool+isConstant m f = case take m $ bindings f of+ [] -> False -- uninhabited type?+ ((_,r'):bs) -> all (\(_,r) -> r == r') bs++-- | shows a constant function+showConstant :: ShowFunction a => Int -> a -> String+showConstant m f = "\\" ++ unwords vs ++ " -> " ++ fromMaybe "undefined" r+ where+ (as,r) = head $ bindings f+ vs = replicate (length as) "_"+ -- The first boolean parameter tells if we are showing -- the function on a single line showFunctionL :: ShowFunction a => Bool -> Int -> Int -> a -> String showFunctionL singleLine m n f | isValue f = showValueOf f+showFunctionL singleLine m n f | isConstant m f = showConstant m f+--showFunctionL singleLine m n f | canName m f = showName m f showFunctionL singleLine m n f | otherwise = lambdaPat ++ caseExp where- vs = varnamesFor f lambdaPat = "\\" ++ unwords vs ++ " -> "- casePat = "case " ++ showTuple vs ++ " of"- bs = showNBindingsOf m n f+ casePat = "case " ++ showTuple (filter (/= "_") vs) ++ " of"+ (vs, bindings) = clarifiedBindings m n f+ bs = showNBindings (length bindings >= m) n bindings sep | singleLine = " " | otherwise = "\n" cases | singleLine = intercalate "; " bs | otherwise = unlines- $ (replicate (length lambdaPat + 2) ' ' ++) `map` bs+ $ (replicate (length lambdaPat) ' ' ++) `map` bs caseExp = if isUndefined m f then "undefined" else casePat ++ sep ++ cases -- instances for further tuple arities -- instance (Show a, Show b, Show c)- => ShowFunction (a,b,c) where tBindings = tBindingsShow+ => ShowFunction (a,b,c) where bindtiers = bindtiersShow instance (Show a, Show b, Show c, Show d)- => ShowFunction (a,b,c,d) where tBindings = tBindingsShow+ => ShowFunction (a,b,c,d) where bindtiers = bindtiersShow instance (Show a, Show b, Show c, Show d, Show e)- => ShowFunction (a,b,c,d,e) where tBindings = tBindingsShow+ => ShowFunction (a,b,c,d,e) where bindtiers = bindtiersShow instance (Show a, Show b, Show c, Show d, Show e, Show f)- => ShowFunction (a,b,c,d,e,f) where tBindings = tBindingsShow+ => ShowFunction (a,b,c,d,e,f) where bindtiers = bindtiersShow instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g)- => ShowFunction (a,b,c,d,e,f,g) where tBindings = tBindingsShow+ => ShowFunction (a,b,c,d,e,f,g) where bindtiers = bindtiersShow instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h)- => ShowFunction (a,b,c,d,e,f,g,h) where tBindings = tBindingsShow+ => ShowFunction (a,b,c,d,e,f,g,h) where bindtiers = bindtiersShow -- instance for types from Test.LeanCheck.Utils.Types-instance ShowFunction Nat where tBindings = tBindingsShow-instance ShowFunction Nat1 where tBindings = tBindingsShow-instance ShowFunction Nat2 where tBindings = tBindingsShow-instance ShowFunction Nat3 where tBindings = tBindingsShow-instance ShowFunction Nat4 where tBindings = tBindingsShow-instance ShowFunction Nat5 where tBindings = tBindingsShow-instance ShowFunction Nat6 where tBindings = tBindingsShow-instance ShowFunction Nat7 where tBindings = tBindingsShow-instance ShowFunction Int1 where tBindings = tBindingsShow-instance ShowFunction Int2 where tBindings = tBindingsShow-instance ShowFunction Int3 where tBindings = tBindingsShow-instance ShowFunction Int4 where tBindings = tBindingsShow-instance ShowFunction Word1 where tBindings = tBindingsShow-instance ShowFunction Word2 where tBindings = tBindingsShow-instance ShowFunction Word3 where tBindings = tBindingsShow-instance ShowFunction Word4 where tBindings = tBindingsShow+instance ShowFunction Nat where bindtiers = bindtiersShow+instance ShowFunction Nat1 where bindtiers = bindtiersShow+instance ShowFunction Nat2 where bindtiers = bindtiersShow+instance ShowFunction Nat3 where bindtiers = bindtiersShow+instance ShowFunction Nat4 where bindtiers = bindtiersShow+instance ShowFunction Nat5 where bindtiers = bindtiersShow+instance ShowFunction Nat6 where bindtiers = bindtiersShow+instance ShowFunction Nat7 where bindtiers = bindtiersShow+instance ShowFunction Int1 where bindtiers = bindtiersShow+instance ShowFunction Int2 where bindtiers = bindtiersShow+instance ShowFunction Int3 where bindtiers = bindtiersShow+instance ShowFunction Int4 where bindtiers = bindtiersShow+instance ShowFunction Word1 where bindtiers = bindtiersShow+instance ShowFunction Word2 where bindtiers = bindtiersShow+instance ShowFunction Word3 where bindtiers = bindtiersShow+instance ShowFunction Word4 where bindtiers = bindtiersShow++-- | Hard coded function names and bindings+-- Search this list for a short name for your function.+functionNames :: [(String, [Binding])]+functionNames =+ [ "id" `for` (id :: () -> ())+ , "const" `for` (const :: () -> () -> ())++ -- booleans+ , "id" `for` (id :: Bool -> Bool)+ , "not" `for` (not :: Bool -> Bool)+ , "const" `for` (const :: Bool -> Bool -> Bool)++ , "(&&)" `for` (&&)+ , "(||)" `for` (||)++ -- numeric types+ , "id" `for` (id :: Int -> Int)+ , "const" `for` (const :: Int -> Int -> Int)++ -- Num typeclass+ , "(+)" `for` ((+) :: Int -> Int -> Int)+ , "(-)" `for` ((-) :: Int -> Int -> Int)+ , "(*)" `for` ((*) :: Int -> Int -> Int)+ , "negate" `for` (negate :: Int -> Int)+ , "abs" `for` (abs :: Int -> Int)+ , "signum" `for` (signum :: Int -> Int)++ -- integer properties+ , "odd" `for` (odd :: Int -> Bool)+ , "even" `for` (even :: Int -> Bool)+ ]+ where+ n `for` f = (n, bindings f)++-- | Tries to name a function heuristically+name :: ShowFunction a => Int -> a -> Maybe String+name n f = listToMaybe [ nm | (nm, bs) <- functionNames+ , take n bs == take n (bindings f)]++canName :: ShowFunction a => Int -> a -> Bool+canName n = isJust . name n++showName :: ShowFunction a => Int -> a -> String+showName n = fromMaybe "unknown" . name n++-- | Returns a set of variables and a set of bindings+-- describing how a function works.+--+-- Some argument values are generalized to "@_@" when possible.+-- If one of the function arguments is not used altogether, it is ommited in+-- the set of bindings and appears as "_" in the variables list.+--+-- This is the /last/ function in the clarification pipeline.+--+-- It takes two integer arguments:+--+-- 1. @m@: the maximum number of cases considered for computing the description;+-- 2. @n@: the maximum number of cases in the actual description.+--+-- As a general rule of thumb, set @m=n*n+1@.+--+-- Some examples follow:+--+-- * When all arguments are used, the result is the same as 'describedBindings':+--+-- > > clarifiedBindings 100 10 (==1)+-- > ( ["x"], [ (["1"],Just "True"),+-- > , (["_"],Just "False") ] )+--+-- * When some arguments are unused, they are omitted in the list of bindings and+-- appear as @"_"@ in the list of variables.+--+-- > > clarifiedBindings 100 10 (\_ y -> y == 1)+-- > ( ["_", "y"], [ (["1"],Just "True")+-- > , (["_"],Just "False") ] )+clarifiedBindings :: ShowFunction a => Int -> Int -> a -> ([String],[Binding])+clarifiedBindings m n = clarifyBindings . describedBindings m n++clarifyBindings :: [Binding] -> ([String],[Binding])+clarifyBindings bs = (varnamesByUsage used, map (mapFst $ select used) bs)+ where+ mapFst f (x,y) = (f x, y)+ used = usedArgs bs++varnamesByUsage :: [Bool] -> [String]+varnamesByUsage = zipWith used varnames+ where+ used s False = "_"+ used s True = s+ varnames = ["x","y","z","w"] ++ map (++"'") varnames++usedArgs :: [Binding] -> [Bool]+usedArgs = foldr1 (zipWith (||))+ . map (map (/= "_") . fst)++-- | Returns a set of bindings describing how a function works.+-- Some argument values are generalized to "@_@" when possible.+-- It takes two integer arguments:+--+-- 1. @m@: the maximum number of cases considered for computing description;+-- 2. @n@: the maximum number of cases in the actual description.+--+-- As a general rule of thumb, set @m=n*n+1@.+--+-- This is the /second/ function in the clarification pipeline.+--+-- This function processes the result of 'explainedBindings'+-- to sometimes return shorter descriptions.+-- It chooses the shortest of the following (in order):+--+-- * regular unexplained-undescribed 'bindings';+-- * regular 'explainedBindings';+-- * 'explainedBindings' with least occurring cases generalized first;+--+-- Here are some examples:+--+-- * Sometimes the result is the same as 'explainedBindings':+--+-- > > describedBindings 100 10 (||)+-- > [ (["False","False"],Just "False")+-- > , (["_","_"],Just "True") ]+--+-- > > describedBindings 100 10 (==0)+-- > [ (["0"],Just "True")+-- > , (["_"],Just "False") ]+--+-- * but sometimes it is shorter because we consider generalizing least+-- occurring cases first:+--+-- > > describedBindings 100 10 (&&)+-- > [ ( ["True","True"],Just "True")+-- > , ( ["_","_"],Just "False") ]+--+-- > > describedBindings 100 10 (==1)+-- > [ (["1"],Just "True"),+-- > , (["_"],Just "False") ]+--+-- > > describedBindings 100 10 (\_ y -> y == 1)+-- > [ (["_","1"],Just "True")+-- > , (["_","_"],Just "False") ]+describedBindings :: ShowFunction a => Int -> Int -> a -> [Binding]+describedBindings m n f+ | length bs1 <= n = bs1+ | otherwise = bs0+ where+ bs0 = take m $ bindings f+ bs1 = describeBindings bs0++describeBindings :: [Binding] -> [Binding]+describeBindings bs = head $ sortOn length $+ [ bs+ , explainBindings bs+ , explainBindings . concat . sortOn length $ classifyOn snd bs+ ]++-- | Returns a set of bindings explaining how a function works.+-- Some argument values are generalized to "@_@" when possible.+-- It takes as argument the maximum number of cases+-- considered for computing the explanation.+--+-- A measure of success in this generalization process is if this function+-- returns less values than the asked maximum number of cases.+--+-- This is the /first/ function in the clarification pipeline.+--+-- * In some cases, 'bindings' cannot be "explained"+-- an almost unchanged result of 'bindings' is returned+-- with the last binding having variables replaced by "@_@":+--+-- > > explainedBindings 4 (id::Int->Int)+-- > [ (["0"],Just "0")+-- > , (["1"],Just "1")+-- > , (["-1"],Just "-1")+-- > , (["_"],Just "2") ]+--+-- * When possible, some cases are generalized using @_@:+--+-- > > explainedBindings 10 (||)+-- > [ (["False","False"],Just "False")+-- > , (["_","_"],Just "True") ]+--+-- but the resulting "explanation" might not be the shortest possible+-- (cf. 'describedBindings'):+--+-- > > explainedBindings 10 (&&)+-- > [ ( ["False","_"],Just "False")+-- > , (["_","False"],Just "False")+-- > , (["_","_"],Just "True") ]+--+-- * Generalization works for infinite domains (heuristically):+--+-- > > explainedBindings 10 (==0)+-- > [ (["0"],Just "True")+-- > , (["_"],Just "False") ]+--+-- * Generalization for each item is processed in the order they are generated by 'bindings'+-- hence explanations are not always the shortest possible (cf. 'describedBindings').+-- In the following examples, the first case is redundant.+--+-- > > explainedBindings 10 (==1)+-- > [ (["0"],Just "False")+-- > , (["1"],Just "True"),+-- > , (["_"],Just "False") ]+--+-- > > explainedBindings 10 (\_ y -> y == 1)+-- > [ (["_","0"],Just "False")+-- > , (["_","1"],Just "True")+-- > , (["_","_"],Just "False") ]+explainedBindings :: ShowFunction a => Int -> a -> [Binding]+explainedBindings m = explainBindings . take m . bindings++explainBindings :: [Binding] -> [Binding]+explainBindings = explain []+ where+ explain :: [Binding] -> [Binding] -> [Binding]+ explain bs' [] = reverse bs'+ explain bs' ((as,r):bs) = explain (bs''++bs') [b | b <- bs, none (b <~~) bs'']+ where+ bs'' = discardLater (<~~)+ [ (gas,r) | gas <- generalizations as+ , and [r' == r | (as',r') <- bs, as' <~ gas] ]++generalizations :: [String] -> [[String]]+generalizations [] = [[]]+generalizations (v:vs) = map ("_":) gvs ++ map (v:) gvs+ where+ gvs = generalizations vs++-- | Should be read as "is generalized by":+--+-- > > ["1","2","3"] <~ ["_","_","_"]+-- > True+-- > > ["_","_","_"] <~ ["1","2","3"]+-- > False+-- > > ["1","3"] <~ ["_","3"]+-- > True+-- > > ["_","3"] <~ ["_","4"]+-- > False+(<~) :: [String] -> [String] -> Bool+[] <~ [] = True+(v:vs) <~ ("_":ws) = vs <~ ws+(v:vs) <~ (w:ws) = v == w && vs <~ ws+_ <~ _ = False++-- | Should be read as "is generalized by".+(<~~) :: Binding -> Binding -> Bool+(as,r) <~~ (as',r') = as <~ as' && r == r'+++-- general auxiliary functions++discard :: (a -> Bool) -> [a] -> [a]+discard p = filter (not . p)++discardLater :: (a -> a -> Bool) -> [a] -> [a]+discardLater (?>) = dl+ where+ dl [] = []+ dl (x:xs) = x : discard (?> x) (dl xs)++none :: (a -> Bool) -> [a] -> Bool+none p = not . any p++-- sortOn is only available on GHC > 7.8+sortOn :: Ord b => (a -> b) -> [a] -> [a]+sortOn f = sortBy (compare `on` f)++select :: [Bool] -> [a] -> [a]+select [] _ = []+select _ [] = []+select (p:ps) (x:xs) = if p then x : xs' else xs' where xs' = select ps xs
src/Test/LeanCheck/IO.hs view
@@ -44,6 +44,9 @@ -- | Check a property for a given number of tests -- printing results on 'stdout'+--+-- > > checkFor 1000 $ \xs -> sort (sort xs) == sort (xs::[Int])+-- > +++ OK, passed 1000 tests. checkFor :: Testable a => Int -> a -> IO () checkFor n p = checkResultFor n p >> return () @@ -51,6 +54,14 @@ -- printing results on 'stdout' and -- returning 'True' on success. --+-- > > p <- checkResult $ \xs -> sort (sort xs) == sort (xs::[Int])+-- > +++ OK, passed 200 tests.+-- > > q <- checkResult $ \xs ys -> xs `union` ys == ys `union` (xs::[Int])+-- > *** Failed! Falsifiable (after 4 tests):+-- > [] [0,0]+-- > > p && q+-- > False+-- -- There is no option to silence this function: -- for silence, you should use 'Test.LeanCheck.holds'. checkResult :: Testable a => a -> IO Bool@@ -59,6 +70,10 @@ -- | Check a property for a given number of tests -- printing results on 'stdout' and -- returning 'True' on success.+--+-- > > checkResultFor 1000 $ \xs -> sort (sort xs) == sort (xs::[Int])+-- > +++ OK, passed 1000 tests.+-- > True -- -- There is no option to silence this function: -- for silence, you should use 'Test.LeanCheck.holds'.
src/Test/LeanCheck/Tiers.hs view
@@ -215,21 +215,21 @@ -- | Takes as argument tiers of element values; -- returns tiers of lists of elements. ----- > listsOf [[]] == [[[]]]+-- > listsOf [[]] = [[[]]] ----- > listsOf [[x]] == [ [[]]--- > , [[x]]--- > , [[x,x]]--- > , [[x,x,x]]--- > , ...--- > ]+-- > listsOf [[x]] = [ [[]]+-- > , [[x]]+-- > , [[x,x]]+-- > , [[x,x,x]]+-- > , ...+-- > ] ----- > listsOf [[x],[y]] == [ [[]]--- > , [[x]]--- > , [[x,x],[y]]--- > , [[x,x,x],[x,y],[y,x]]--- > , ...--- > ]+-- > listsOf [[x],[y]] = [ [[]]+-- > , [[x]]+-- > , [[x,x],[y]]+-- > , [[x,x,x],[x,y],[y,x]]+-- > , ...+-- > ] listsOf :: [[a]] -> [[[a]]] listsOf xss = cons0 [] \/ delay (productWith (:) xss (listsOf xss))@@ -240,9 +240,9 @@ -- takes as argument a list of lists of tiers of elements; -- returns lists combining elements of each list of tiers. ----- > products [xss] = mapT (:[]) xss--- > products [xss,yss] = mapT (\(x,y) -> [x,y]) (xss >< yss)--- > products [xss,yss,zss] = product3With (\x y z -> [x,y,z]) xss yss zss+-- > products [xss] = mapT (:[]) xss+-- > products [xss,yss] = mapT (\(x,y) -> [x,y]) (xss >< yss)+-- > products [xss,yss,zss] = product3With (\x y z -> [x,y,z]) xss yss zss products :: [ [[a]] ] -> [[ [a] ]] products = foldr (productWith (:)) [[[]]] @@ -286,6 +286,7 @@ catMaybesT :: [[Maybe a]] -> [[a]] catMaybesT = map catMaybes +-- | Like 'mapMaybe' but for tiers. mapMaybeT :: (a -> Maybe b) -> [[a]] -> [[b]] mapMaybeT f = catMaybesT . mapT f
src/Test/LeanCheck/Utils/Operators.hs view
@@ -53,6 +53,7 @@ , okOrd , okEqOrd , okNum+ , okNumNonNegative ) where @@ -253,18 +254,21 @@ && okOrd x y z && (x == y) == (x `compare` y == EQ) -- consistent instances +okNumNonNegative :: (Eq a, Num a) => a -> a -> a -> Bool+okNumNonNegative x y z = commutative (+) x y+ && commutative (*) x y+ && associative (+) x y z+ && associative (*) x y z+ && distributive (*) (+) x y z+ && idempotent (+0) x+ && idempotent (*1) x+ && idempotent abs x+ && idempotent signum x+ && abs x * signum x == x+ okNum :: (Eq a, Num a) => a -> a -> a -> Bool-okNum x y z = commutative (+) x y- && commutative (*) x y- && associative (+) x y z- && associative (*) x y z- && distributive (*) (+) x y z- && idempotent (+0) x- && idempotent (*1) x- && idempotent abs x- && idempotent signum x+okNum x y z = okNumNonNegative x y z && negate (negate x) == x- && abs x * signum x == x && x - x == 0 -- | Equal under, a ternary operator with the same fixity as '=='.
src/Test/LeanCheck/Utils/Types.hs view
@@ -60,6 +60,24 @@ , Bag (..) , Set (..) , Map (..)++ -- * Character types+ , Space (..)+ , Lower (..)+ , Upper (..)+ , Alpha (..)+ , Digit (..)+ , AlphaNum (..)+ , Letter (..)++ -- * String types+ , Spaces (..)+ , Lowers (..)+ , Uppers (..)+ , Alphas (..)+ , Digits (..)+ , AlphaNums (..)+ , Letters (..) ) where -- TODO: Add Ix and Bits instances@@ -135,14 +153,17 @@ -- Internally, this type is represented as an 'Integer' -- allowing for an infinity of possible values. ----- Its 'Enum' and 'Listable' instances only produce non-negative values.--- Negatives can still be generated by 'negate' or subtraction.-newtype Natural = Natural { unNatural :: Int } deriving (Eq, Ord)+-- Its 'Enum', 'Listable' and 'Num' instances only produce non-negative values.+-- When @x < y@ then @x - y = 0@.+newtype Natural = Natural { unNatural :: Integer } deriving (Eq, Ord) -- | Natural numbers (including 0): 0, 1, 2, 3, 4, 5, 6, 7, ... -- -- Internally, this type is represented as an 'Int'. -- So, it is limited by the 'maxBound' of 'Int'.+--+-- Its 'Enum', 'Listable' and 'Num' instances only produce non-negative values.+-- When @x < y@ then @x - y = 0@. newtype Nat = Nat { unNat :: Int } deriving (Eq, Ord) -- | Natural numbers modulo 1: 0@@ -181,6 +202,8 @@ nat5 :: Int -> Nat5; nat5 = Nat5 . (`mod` 5) nat6 :: Int -> Nat6; nat6 = Nat6 . (`mod` 6) nat7 :: Int -> Nat7; nat7 = Nat7 . (`mod` 7)+nat :: Int -> Nat; nat = Nat . (\x -> if x < 0 then 0 else x)+natural :: Integer -> Natural; natural = Natural . (\x -> if x < 0 then 0 else x) oInt1 ::(Int->Int->Int)->(Int1->Int1->Int1) ; oInt1 = oNewtype int1 unInt1 oInt2 ::(Int->Int->Int)->(Int2->Int2->Int2) ; oInt2 = oNewtype int2 unInt2@@ -190,7 +213,7 @@ oWord2 ::(Int->Int->Int)->(Word2->Word2->Word2); oWord2 = oNewtype word2 unWord2 oWord3 ::(Int->Int->Int)->(Word3->Word3->Word3); oWord3 = oNewtype word3 unWord3 oWord4 ::(Int->Int->Int)->(Word4->Word4->Word4); oWord4 = oNewtype word4 unWord4-oNat ::(Int->Int->Int)->(Nat->Nat->Nat) ; oNat = oNewtype Nat unNat+oNat ::(Int->Int->Int)->(Nat->Nat->Nat) ; oNat = oNewtype nat unNat oNat1 ::(Int->Int->Int)->(Nat1->Nat1->Nat1) ; oNat1 = oNewtype nat1 unNat1 oNat2 ::(Int->Int->Int)->(Nat2->Nat2->Nat2) ; oNat2 = oNewtype nat2 unNat2 oNat3 ::(Int->Int->Int)->(Nat3->Nat3->Nat3) ; oNat3 = oNewtype nat3 unNat3@@ -198,8 +221,8 @@ oNat5 ::(Int->Int->Int)->(Nat5->Nat5->Nat5) ; oNat5 = oNewtype nat5 unNat5 oNat6 ::(Int->Int->Int)->(Nat6->Nat6->Nat6) ; oNat6 = oNewtype nat6 unNat6 oNat7 ::(Int->Int->Int)->(Nat7->Nat7->Nat7) ; oNat7 = oNewtype nat7 unNat7-oNatural :: (Int->Int->Int) -> (Natural->Natural->Natural)-oNatural = oNewtype Natural unNatural+oNatural :: (Integer->Integer->Integer) -> (Natural->Natural->Natural)+oNatural = oNewtype natural unNatural fInt1 :: (Int->Int) -> (Int1->Int1) ; fInt1 = fNewtype int1 unInt1 fInt2 :: (Int->Int) -> (Int2->Int2) ; fInt2 = fNewtype int2 unInt2@@ -217,7 +240,7 @@ fNat5 :: (Int->Int) -> (Nat5->Nat5) ; fNat5 = fNewtype nat5 unNat5 fNat6 :: (Int->Int) -> (Nat6->Nat6) ; fNat6 = fNewtype nat6 unNat6 fNat7 :: (Int->Int) -> (Nat7->Nat7) ; fNat7 = fNewtype nat7 unNat7-fNatural :: (Int->Int) -> (Natural->Natural)+fNatural :: (Integer->Integer) -> (Natural->Natural) fNatural = fNewtype Natural unNatural instance Show Int1 where show = show . unInt1@@ -246,7 +269,7 @@ instance Read Word2 where readsPrec = readsPrecNewtype word2 instance Read Word3 where readsPrec = readsPrecNewtype word3 instance Read Word4 where readsPrec = readsPrecNewtype word4-instance Read Nat where readsPrec = readsPrecNewtype Nat+instance Read Nat where readsPrec = readsPrecNewtype nat instance Read Nat1 where readsPrec = readsPrecNewtype nat1 instance Read Nat2 where readsPrec = readsPrecNewtype nat2 instance Read Nat3 where readsPrec = readsPrecNewtype nat3@@ -254,7 +277,7 @@ instance Read Nat5 where readsPrec = readsPrecNewtype nat5 instance Read Nat6 where readsPrec = readsPrecNewtype nat6 instance Read Nat7 where readsPrec = readsPrecNewtype nat7-instance Read Natural where readsPrec = readsPrecNewtype Natural+instance Read Natural where readsPrec = readsPrecNewtype natural instance Num Int1 where (+) = oInt1 (+); abs = fInt1 abs@@ -291,7 +314,7 @@ instance Num Nat where (+) = oNat (+); abs = fNat abs (-) = oNat (-); signum = fNat signum- (*) = oNat (*); fromInteger = Nat . fromInteger+ (*) = oNat (*); fromInteger = nat . fromInteger instance Num Nat1 where (+) = oNat1 (+); abs = fNat1 abs (-) = oNat1 (-); signum = fNat1 signum@@ -324,7 +347,7 @@ instance Num Natural where (+) = oNatural (+); abs = fNatural abs (-) = oNatural (-); signum = fNatural signum- (*) = oNatural (*); fromInteger = Natural . fromInteger+ (*) = oNatural (*); fromInteger = natural . fromInteger instance Real Int1 where toRational (Int1 x) = fromIntegral x % 1@@ -393,7 +416,7 @@ instance Integral Nat7 where quotRem = otNewtype nat7 unNat7 quotRem toInteger = toInteger . unNat7 -instance Integral Natural where quotRem = otNewtype Natural unNatural quotRem+instance Integral Natural where quotRem = otNewtype natural unNatural quotRem toInteger = toInteger . unNatural instance Bounded Int1 where maxBound = Int1 0; minBound = Int1 (-1)@@ -437,7 +460,7 @@ instance Enum Word4 where toEnum = word4; enumFrom = boundedEnumFrom fromEnum = unWord4; enumFromThen = boundedEnumFromThen -instance Enum Nat where toEnum = Nat; enumFrom = boundedEnumFrom+instance Enum Nat where toEnum = nat; enumFrom = boundedEnumFrom fromEnum = unNat; enumFromThen = boundedEnumFromThen instance Enum Nat1 where toEnum = nat1; enumFrom = boundedEnumFrom@@ -462,8 +485,8 @@ fromEnum = unNat7; enumFromThen = boundedEnumFromThen instance Enum Natural where- toEnum = Natural- fromEnum = unNatural;+ toEnum = natural . fromIntegral+ fromEnum = fromInteger . unNatural; enumFrom (Natural x) = map Natural [x..] enumFromThen (Natural x) (Natural s) = map Natural [x,s..] @@ -471,19 +494,19 @@ instance Listable Int2 where list = listIntegral instance Listable Int3 where list = listIntegral instance Listable Int4 where list = listIntegral-instance Listable Word1 where list = [0..]-instance Listable Word2 where list = [0..]-instance Listable Word3 where list = [0..]-instance Listable Word4 where list = [0..]-instance Listable Nat where list = [0..]-instance Listable Nat1 where list = [0..]-instance Listable Nat2 where list = [0..]-instance Listable Nat3 where list = [0..]-instance Listable Nat4 where list = [0..]-instance Listable Nat5 where list = [0..]-instance Listable Nat6 where list = [0..]-instance Listable Nat7 where list = [0..]-instance Listable Natural where list = [0..]+instance Listable Word1 where list = listIntegral+instance Listable Word2 where list = listIntegral+instance Listable Word3 where list = listIntegral+instance Listable Word4 where list = listIntegral+instance Listable Nat where list = listIntegral+instance Listable Nat1 where list = listIntegral+instance Listable Nat2 where list = listIntegral+instance Listable Nat3 where list = listIntegral+instance Listable Nat4 where list = listIntegral+instance Listable Nat5 where list = listIntegral+instance Listable Nat6 where list = listIntegral+instance Listable Nat7 where list = listIntegral+instance Listable Natural where list = listIntegral -- | Deprecated. Use 'Word1'. type UInt1 = Word1@@ -618,3 +641,51 @@ instance (Integral a, Bounded a) => Listable (Xs a) where tiers = cons1 (Xs . map unX) -- ^ Lists with elements of the 'X' type.++data Space = Space {unSpace :: Char}+data Lower = Lower {unLower :: Char}+data Upper = Upper {unUpper :: Char}+data Alpha = Alpha {unAlpha :: Char}+data Digit = Digit {unDigit :: Char}+data AlphaNum = AlphaNum {unAlphaNum :: Char}+data Letter = Letter {unLetter :: Char}++instance Show Space where show = show . unSpace+instance Show Lower where show = show . unLower+instance Show Upper where show = show . unUpper+instance Show Alpha where show = show . unAlpha+instance Show Digit where show = show . unDigit+instance Show AlphaNum where show = show . unAlphaNum+instance Show Letter where show = show . unLetter++instance Listable Space where list = map Space [' ', '\t', '\n', '\r', '\f', '\v']+instance Listable Lower where list = map Lower ['a'..'z']+instance Listable Upper where list = map Upper ['A'..'Z']+instance Listable Alpha where list = map Alpha $ ['a'..'z'] +| ['A'..'Z']+instance Listable Digit where list = map Digit ['0'..'9']+instance Listable AlphaNum where list = map AlphaNum $ ['0'..'9'] +| ['a'..'z'] +| ['A'..'Z']+instance Listable Letter where list = map Letter $ ['a'..'z'] +| ['A'..'Z']++data Spaces = Spaces {unSpaces :: String}+data Lowers = Lowers {unLowers :: String}+data Uppers = Uppers {unUppers :: String}+data Alphas = Alphas {unAlphas :: String}+data Digits = Digits {unDigits :: String}+data AlphaNums = AlphaNums {unAlphaNums :: String}+data Letters = Letters {unLetters :: String}++instance Show Spaces where show = show . unSpaces+instance Show Lowers where show = show . unLowers+instance Show Uppers where show = show . unUppers+instance Show Alphas where show = show . unAlphas+instance Show Digits where show = show . unDigits+instance Show AlphaNums where show = show . unAlphaNums+instance Show Letters where show = show . unLetters++instance Listable Spaces where tiers = cons1 (Spaces . map unSpace)+instance Listable Lowers where tiers = cons1 (Lowers . map unLower)+instance Listable Uppers where tiers = cons1 (Uppers . map unUpper)+instance Listable Alphas where tiers = cons1 (Alphas . map unAlpha)+instance Listable Digits where tiers = cons1 (Digits . map unDigit)+instance Listable AlphaNums where tiers = cons1 (AlphaNums . map unAlphaNum)+instance Listable Letters where tiers = cons1 (Letters . map unLetter)
+ test/Test.hs view
@@ -0,0 +1,143 @@+-- |+-- Module : Test+-- Copyright : (c) 2015-2018 Rudy Matela+-- License : 3-Clause BSD (see the file LICENSE)+-- Maintainer : Rudy Matela <rudy@matela.com.br>+--+-- This module is part of LeanCheck,+-- a simple enumerative property-based testing library.+--+-- Some helper functios to test LeanCheck itself.+module Test+ ( module Test.LeanCheck++ , tNatPairOrd+ , tNatTripleOrd+ , tNatQuadrupleOrd+ , tNatQuintupleOrd+ , tNatListOrd+ , tListsOfNatOrd+ , tPairEqParams+ , tTripleEqParams+ , tProductsIsFilterByLength++ , ordered+ , orderedBy+ , orderedOn+ , strictlyOrdered+ , strictlyOrderedBy+ , strictlyOrderedOn+ )+where++import Test.LeanCheck+import Data.List+import Data.Ord+import Test.LeanCheck.Utils.Types (Nat(..))++-- | check if a list is ordered+ordered :: Ord a => [a] -> Bool+ordered = orderedBy compare+-- ordered [] = True+-- ordered [_] = True+-- ordered (x:y:xs) = x <= y && ordered (y:xs)++strictlyOrdered :: Ord a => [a] -> Bool+strictlyOrdered = strictlyOrderedBy compare++-- | check if a list is ordered by a given ordering function+orderedBy :: (a -> a -> Ordering) -> [a] -> Bool+orderedBy _ [] = True+orderedBy _ [_] = True+orderedBy cmp (x:y:xs) = case x `cmp` y of+ GT -> False+ _ -> orderedBy cmp (y:xs)++orderedOn :: Ord b => (a -> b) -> [a] -> Bool+orderedOn f = orderedBy (comparing f)++-- | check if a list is strictly ordered by a given ordering function+strictlyOrderedBy :: (a -> a -> Ordering) -> [a] -> Bool+strictlyOrderedBy _ [] = True+strictlyOrderedBy _ [_] = True+strictlyOrderedBy cmp (x:y:xs) = case x `cmp` y of+ LT -> strictlyOrderedBy cmp (y:xs)+ _ -> False++strictlyOrderedOn :: Ord b => (a -> b) -> [a] -> Bool+strictlyOrderedOn f = strictlyOrderedBy (comparing f)++ifNotEq :: Ordering -> Ordering -> Ordering+-- Could be implemented as: ifNotEq = mappend+ifNotEq EQ p = p+ifNotEq o _ = o++thn :: (a->a->Ordering) -> (a->a->Ordering) -> a -> a -> Ordering+thn cmp1 cmp2 x y = (x `cmp1` y) `ifNotEq` (x `cmp2` y)+infixr 9 `thn`+++-- | checks if the first 'n' elements on tiers are ordered by 'cmp'.+--+-- > (n `seriesOrderedBy`) comparing (id :: Type)+tOrderedBy :: Listable a => Int -> (a -> a -> Ordering) -> Bool+tOrderedBy n cmp = orderedBy cmp $ take n list+infixr 9 `tOrderedBy`++tStrictlyOrderedBy :: Listable a => Int -> (a -> a -> Ordering) -> Bool+tStrictlyOrderedBy n cmp = strictlyOrderedBy cmp $ take n list+infixr 9 `tStrictlyOrderedBy`++tNatPairOrd :: Int -> Bool+tNatPairOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare+ where sum' (x,y) = x+y :: Nat++tNatTripleOrd :: Int -> Bool+tNatTripleOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare+ where sum' (x,y,z) = x+y+z :: Nat++tNatQuadrupleOrd :: Int -> Bool+tNatQuadrupleOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare+ where sum' (x,y,z,w) = x+y+z+w :: Nat++tNatQuintupleOrd :: Int -> Bool+tNatQuintupleOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare+ where sum' (x,y,z,w,v) = x+y+z+w+v :: Nat++tNatListOrd :: Int -> Bool+tNatListOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare+ where sum' = sum . map (+1) :: [Nat] -> Nat++tListsOfStrictlyOrderedBy :: Int+ -> (a -> a -> Ordering)+ -> [[a]]+ -> Bool+tListsOfStrictlyOrderedBy n cmp = strictlyOrderedBy cmp . take n . concat+infixr 9 `tListsOfStrictlyOrderedBy`++tListsOfNatOrd :: Int -> Bool+tListsOfNatOrd n = tListsOfStrictlyOrderedBy n (comparing sum' `thn` compare) tiers+ where sum' = sum . map (+1) :: [Nat] -> Nat++tPairEqParams :: Int -> Bool+tPairEqParams n = ces == srs+ where+ ces = map (map read) $ counterExamples n fail+ srs = map pairToList $ take n list+ pairToList (x,y) = [x,y :: Nat]+ fail :: Nat -> Nat -> Bool+ fail x y = False++tTripleEqParams :: Int -> Bool+tTripleEqParams n = ces == srs+ where+ ces = map (map read) $ counterExamples n fail+ srs = map tripleToList $ take n list+ tripleToList (x,y,z) = [x,y,z :: Nat]+ fail :: Nat -> Nat -> Nat -> Bool+ fail x y z = False++tProductsIsFilterByLength :: Eq a => [[a]] -> Int -> Int -> Bool+tProductsIsFilterByLength values m n = concat (take m byProduct) `isPrefixOf` concat byFilter+ where byProduct = products $ replicate n values+ byFilter = ((==n) . length) `filterT` listsOf values
+ test/derive.hs view
@@ -0,0 +1,106 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+{-# LANGUAGE TemplateHaskell, CPP #-}+import Test+import Test.LeanCheck+import Test.LeanCheck.Derive+import System.Exit (exitFailure)+import Data.List (elemIndices,sort)+import Test.LeanCheck.Utils.Operators++data D0 = D0 deriving Show+data D1 a = D1 a deriving Show+data D2 a b = D2 a b deriving Show+data D3 a b c = D3 a b c deriving Show+data C1 a = C11 a | C10 deriving Show+data C2 a b = C22 a b | C21 a | C20 deriving Show+data I a b = a :+ b deriving Show++deriveListable ''D0+deriveListable ''D1+deriveListable ''D2+deriveListable ''D3+deriveListable ''C1+deriveListable ''C2+deriveListable ''I++-- Nested datatype cascade+data Nested = Nested N0 (N1 Int) (N2 Int Int)+data N0 = R0 Int+data N1 a = R1 a+data N2 a b = R2 a b+deriveListableCascading ''Nested++-- Recursive nested datatype cascade+data RN = RN RN0 (RN1 Int) (RN2 Int RN)+data RN0 = Nest0 Int | Recurse0 RN+data RN1 a = Nest1 a | Recurse1 RN+data RN2 a b = Nest2 a b | Recurse2 RN+deriveListableCascading ''RN++-- Type synonyms+data Pair a = Pair a a+type Alias a = Pair a+-- deriveListable ''Alias -- this will fail+deriveListableCascading ''Alias+deriveListableIfNeeded ''Alias -- only works because instance already exists++-- Nested type synonyms+data Triple a = Triple a a a+type Tralias a = Triple a+data Pairiple a = Pairriple (Tralias a) (Tralias a)+deriveListableCascading ''Pairiple++-- Those should have no effect (instance already exists):+{- uncommenting those should generate warnings+deriveListable ''Bool+deriveListable ''Maybe+deriveListable ''Either+-}++-- Those should not generate warnings+deriveListableIfNeeded ''Bool+deriveListableIfNeeded ''Maybe+deriveListableIfNeeded ''Either++main :: IO ()+main =+ case elemIndices False (tests 100) of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests n =+ [ True++ , map unD0 list =| n |= list+ , map unD1 list =| n |= (list :: [Int])+ , map unD2 list =| n |= (list :: [(Int,Int)])+ , map unD3 list =| n |= (list :: [(Int,Int,Int)])++ , map unD1 list == (list :: [()])+ , map unD2 list == (list :: [((),())])+ , map unD3 list == (list :: [((),(),())])++ , map unD1 list == (list :: [Bool])+ , map unD2 list == (list :: [(Bool,Bool)])+ , map unD3 list == (list :: [(Bool,Bool,Bool)])++ , (tiers :: [[ Bool ]]) =| 6 |= $(deriveTiers ''Bool)+ , (tiers :: [[ [Int] ]]) =| 6 |= $(deriveTiers ''[])+ , (tiers :: [[ [Bool] ]]) =| 6 |= $(deriveTiers ''[])+ , (tiers :: [[ Maybe Int ]]) =| 6 |= $(deriveTiers ''Maybe)+ , (tiers :: [[ Maybe Bool ]]) =| 6 |= $(deriveTiers ''Maybe)+ , ([]:tiers :: [[Either Bool Int]]) =$ map sort . take 6 $= $(deriveTiers ''Either)++ , (list :: [ Bool ]) =| n |= $(deriveList ''Bool)+ , (list :: [ [Int] ]) =| n |= $(deriveList ''[])+ , (list :: [ [Bool] ]) =| n |= $(deriveList ''[])+ , (list :: [ Maybe Int ]) =| n |= $(deriveList ''Maybe)+ , (list :: [ Maybe Bool ]) =| n |= $(deriveList ''Maybe)+ ]+ where+ unD0 (D0) = ()+ unD1 (D1 x) = (x)+ unD2 (D2 x y) = (x,y)+ unD3 (D3 x y z) = (x,y,z)
+ test/diff/eg/higher-order.out view
@@ -0,0 +1,15 @@+*** Failed! Falsifiable (after 75 tests):+\x _ -> case x of+ 0 -> 1+ _ -> 0+0+[0,0]+++++ OK, passed 200 tests.+*** Failed! Falsifiable (after 36 tests):+\_ -> 0+\x -> case x of+ 0 -> True+ _ -> False+[1]+
+ test/diff/eg/overflow.out view
@@ -0,0 +1,2 @@+*** Failed! Falsifiable (after 8792 tests):+(T [] [] [] [-1] [-32768])
+ test/diff/eg/test-bool.out view
@@ -0,0 +1,25 @@+not . not === id++++ OK, passed 2 tests (exhausted).+(&&) commutes++++ OK, passed 4 tests (exhausted).+(||) commutes++++ OK, passed 4 tests (exhausted).++All boolean operators are commutative (wrong).+*** Failed! Falsifiable (after 10 tests):+\x y -> case (x,y) of+ (True,False) -> True+ _ -> False+False+True+++All boolean operators are associative (wrong).+*** Failed! Falsifiable (after 22 tests):+\x y -> case (x,y) of+ (True,False) -> True+ _ -> False+True+False+True+
+ test/diff/eg/test-float.out view
@@ -0,0 +1,19 @@+*** Failed! Falsifiable (after 74 tests):+0.33333334 1.0+*** Failed! Falsifiable (after 74 tests):+0.33333334 1.0+*** Failed! Falsifiable (after 1188 tests):+0.2 0.2+*** Failed! Falsifiable (after 584 tests):+0.2 0.33333334++++ OK, passed 10000 tests.++++ OK, passed 10000 tests.++++ OK, passed 10000 tests.++++ OK, passed 10000 tests.+*** Failed! Falsifiable (after 38 tests):+0.14285715+*** Failed! Falsifiable (after 1 tests):+()++++ OK, passed 10000 tests.+*** Failed! Falsifiable (after 5 tests):+0.5
+ test/diff/eg/test-list.out view
@@ -0,0 +1,6 @@+*** Failed! Falsifiable (after 4 tests):+[] [0,0]+*** Failed! Falsifiable (after 1 tests):+[]+*** Failed! Exception '...' (after 1 tests):+[]
+ test/diff/eg/test-sort.out view
@@ -0,0 +1,4 @@++++ OK, passed 200 tests.+*** Failed! Falsifiable (after 4 tests):+0 [0,0]++++ OK, passed 200 tests.
+ test/diff/tiers-4cases-Bool-Bool-Bool-Bool.out view
@@ -0,0 +1,267 @@+map length (tiers :: [[ Bool->Bool->Bool->Bool ]]) = [256]++length (list :: [ Bool->Bool->Bool->Bool ]) = Infinity++allUnique (list :: [ Bool->Bool->Bool->Bool ]) = True++ratioRepetitions (list :: [ Bool->Bool->Bool->Bool ]) = 0 % 1++tiers :: [Bool->Bool->Bool->Bool] =+ [ [ \_ _ _ -> False+ , \x y z -> case (x,y,z) of (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,True,False) -> True; _ -> False+ , \x y _ -> case (x,y) of (True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,False,True) -> True; _ -> False+ , \x _ z -> case (x,z) of (True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,False,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,_) -> False; (_,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,False,False) -> True; (True,True,True) -> True; _ -> False+ , \x _ z -> case (x,z) of (True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,_,False) -> True; (True,True,_) -> True; _ -> False+ , \x y _ -> case (x,y) of (True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,False,_) -> True; (True,_,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,False,_) -> True; (True,_,False) -> True; _ -> False+ , \x _ _ -> case x of False -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,True) -> True; _ -> False+ , \_ y z -> case (y,z) of (True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,True,True) -> True; (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,True) -> True; (True,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (_,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,True,True) -> True; _ -> False+ , \_ y z -> case (y,z) of (True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,True,False) -> True; (True,True,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,_,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,True,False) -> True; (True,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (False,_,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (_,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> True; (True,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; (_,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,True) -> False; _ -> True+ , \x y _ -> case (x,y) of (False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,_) -> True; (_,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,_) -> True; (_,True,False) -> True; _ -> False+ , \_ y _ -> case y of False -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,_) -> True; (True,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (True,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,_) -> True; (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (False,_,_) -> True; (_,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (_,False,True) -> False; _ -> True+ , \x y _ -> case (x,y) of (False,False) -> False; (True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> False; (True,True,True) -> False; _ -> True+ , \x y _ -> case (x,y) of (False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,True,_) -> True; _ -> False+ , \_ y z -> case (y,z) of (False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,True) -> True; (True,_,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (False,True,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,False,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (True,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (True,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (_,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; (_,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,True,_) -> False; _ -> True+ , \x _ z -> case (x,z) of (False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,True) -> True; (_,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (True,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,True) -> True; (_,False,True) -> True; _ -> False+ , \_ _ z -> case z of False -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,True) -> True; (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,False,True) -> False; (_,True,False) -> False; _ -> True+ , \x _ z -> case (x,z) of (False,False) -> False; (True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (False,_,_) -> True; (_,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (_,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> False; (True,True,True) -> False; _ -> True+ , \x _ z -> case (x,z) of (False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (_,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; (True,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,True) -> True; (False,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; (True,_,False) -> False; _ -> True+ , \_ y z -> case (y,z) of (False,False) -> False; (True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> True; (False,True,False) -> True; (True,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,False,True) -> True; (False,True,False) -> True; (False,True,True) -> False; ...+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,False,_) -> True; (_,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; (True,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (_,False,_) -> True; (False,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (_,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,_,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; (True,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; (True,_,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (False,_,_) -> True; (_,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> False; (True,True,True) -> False; _ -> True+ , \_ y z -> case (y,z) of (False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (False,_,_) -> True; (_,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,False,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,_,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,True,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,_,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (True,False,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,_,_) -> False; (_,False,False) -> False; _ -> True+ , \_ y z -> case (y,z) of (False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,_,_) -> False; (_,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; (True,_,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (True,False,_) -> True; (True,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,_,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (_,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (_,False,_) -> False; (False,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,True,True) -> True; (True,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,False,_) -> False; (_,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,False) -> True; (False,False,True) -> False; (False,True,False) -> False; (False,True,True) -> True; ...+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; _ -> False+ , \_ y z -> case (y,z) of (False,False) -> True; (True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; (True,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,True) -> False; (False,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,False) -> True; (False,True,True) -> True; (True,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (_,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (False,True,False) -> False; _ -> True+ , \x _ z -> case (x,z) of (False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,_,_) -> False; (_,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,False,True) -> True; _ -> False+ , \x _ z -> case (x,z) of (False,False) -> True; (True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (True,False,True) -> True; (_,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,True) -> False; (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (True,True,True) -> True; _ -> False+ , \_ _ z -> case z of False -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,True) -> False; (_,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (True,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,True) -> False; (_,True,True) -> False; _ -> True+ , \x _ z -> case (x,z) of (False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (_,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (_,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (False,True,_) -> True; (True,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,False,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,False) -> True; (False,True,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,False,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,False,True) -> False; (True,_,True) -> False; _ -> True+ , \_ y z -> case (y,z) of (False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,True) -> False; _ -> True+ , \x y _ -> case (x,y) of (False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (True,True,False) -> True; _ -> False+ , \x y _ -> case (x,y) of (False,False) -> True; (True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,_) -> False; (_,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,_) -> False; (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (True,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,_) -> False; (True,False,True) -> False; _ -> True+ , \_ y _ -> case y of False -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,_) -> False; (_,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,_) -> False; (_,True,True) -> False; _ -> True+ , \x y _ -> case (x,y) of (False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (_,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (True,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,True) -> True; (_,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,False,False) -> True; (False,_,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (_,True,False) -> False; (True,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,_,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,True,False) -> False; (True,True,_) -> False; _ -> True+ , \_ y z -> case (y,z) of (True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (True,True,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,True,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,_) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,False,True) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (_,True,True) -> False; (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (False,_,False) -> True; (_,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,True) -> False; (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,False,_) -> True; (_,_,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,False,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,False) -> True; (_,False,_) -> True; _ -> False+ , \x y z -> case (x,y,z) of (False,True,True) -> False; (True,True,False) -> False; _ -> True+ , \_ y z -> case (y,z) of (True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,True,True) -> False; _ -> True+ , \x _ _ -> case x of False -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,False,_) -> False; (True,_,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,False,_) -> False; (True,_,True) -> False; _ -> True+ , \x y _ -> case (x,y) of (True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,_,False) -> False; (True,True,_) -> False; _ -> True+ , \x _ z -> case (x,z) of (True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,False,False) -> False; (True,True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,False,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (False,_,_) -> True; (_,False,False) -> True; _ -> False+ , \x y z -> case (x,y,z) of (True,False,True) -> False; (True,True,False) -> False; _ -> True+ , \x _ z -> case (x,z) of (True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,False,True) -> False; _ -> True+ , \x y _ -> case (x,y) of (True,True) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,True,False) -> False; _ -> True+ , \x y z -> case (x,y,z) of (True,True,True) -> False; _ -> True+ , \_ _ _ -> True+ ]+ ]
+ test/diff/tiers-4cases-Bool-Bool-Bool.out view
@@ -0,0 +1,27 @@+map length (tiers :: [[ Bool->Bool->Bool ]]) = [16]++length (list :: [ Bool->Bool->Bool ]) = Infinity++allUnique (list :: [ Bool->Bool->Bool ]) = True++ratioRepetitions (list :: [ Bool->Bool->Bool ]) = 0 % 1++tiers :: [Bool->Bool->Bool] =+ [ [ \_ _ -> False+ , \x y -> case (x,y) of (True,True) -> True; _ -> False+ , \x y -> case (x,y) of (True,False) -> True; _ -> False+ , \x _ -> case x of False -> False; _ -> True+ , \x y -> case (x,y) of (False,True) -> True; _ -> False+ , \_ y -> case y of False -> False; _ -> True+ , \x y -> case (x,y) of (False,False) -> False; (True,True) -> False; _ -> True+ , \x y -> case (x,y) of (False,False) -> False; _ -> True+ , \x y -> case (x,y) of (False,False) -> True; _ -> False+ , \x y -> case (x,y) of (False,False) -> True; (True,True) -> True; _ -> False+ , \_ y -> case y of False -> True; _ -> False+ , \x y -> case (x,y) of (False,True) -> False; _ -> True+ , \x _ -> case x of False -> True; _ -> False+ , \x y -> case (x,y) of (True,False) -> False; _ -> True+ , \x y -> case (x,y) of (True,True) -> False; _ -> True+ , \_ _ -> True+ ]+ ]
+ test/diff/tiers-4cases-Bool-Bool.out view
@@ -0,0 +1,15 @@+map length (tiers :: [[ Bool->Bool ]]) = [4]++length (list :: [ Bool->Bool ]) = 4++allUnique (list :: [ Bool->Bool ]) = True++ratioRepetitions (list :: [ Bool->Bool ]) = 0 % 1++tiers :: [Bool->Bool] =+ [ [ \_ -> False+ , \x -> case x of False -> False; True -> True+ , \x -> case x of False -> True; True -> False+ , \_ -> True+ ]+ ]
+ test/diff/tiers-4cases-Bool-Int-Bool.out view
@@ -0,0 +1,157 @@+map length (tiers :: [[ Bool->Int->Bool ]]) = [4,8,12,24,36,56,...]++length (list :: [ Bool->Int->Bool ]) = Infinity++allUnique (list :: [ Bool->Int->Bool ]) = True++ratioRepetitions (list :: [ Bool->Int->Bool ]) = 0 % 1++tiers :: [Bool->Int->Bool] =+ [ [ \_ _ -> False+ , \x _ -> case x of False -> False; _ -> True+ , \x _ -> case x of False -> True; _ -> False+ , \_ _ -> True+ ]+ , [ \x y -> case (x,y) of (True,0) -> True; _ -> False+ , \x y -> case (x,y) of (False,_) -> False; (_,0) -> False; _ -> True+ , \x y -> case (x,y) of (False,_) -> True; (_,0) -> True; _ -> False+ , \x y -> case (x,y) of (True,0) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; _ -> False+ , \x y -> case (x,y) of (_,0) -> True; (False,_) -> False; _ -> True+ , \x y -> case (x,y) of (_,0) -> False; (False,_) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (True,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,_) -> False; (_,0) -> True; (_,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,_) -> True; (_,0) -> False; (_,1) -> True; _ -> False+ , \x y -> case (x,y) of (True,1) -> False; _ -> True+ , \_ y -> case y of 0 -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (_,0) -> False; (False,_) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> False; (_,0) -> True; (False,_) -> True; _ -> False+ , \_ y -> case y of 0 -> False; _ -> True+ , \x y -> case (x,y) of (False,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,1) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (True,0) -> True; (True,1) -> True; _ -> False+ , \x y -> case (x,y) of (True,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,_) -> False; (_,0) -> False; (_,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,_) -> True; (_,0) -> True; (_,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (True,0) -> False; (True,1) -> False; _ -> True+ , \x y -> case (x,y) of (True,-1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,1) -> True; _ -> False+ , \x y -> case (x,y) of (_,0) -> True; (False,_) -> False; (_,1) -> False; _ -> True+ , \x y -> case (x,y) of (_,0) -> False; (False,_) -> True; (_,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,1) -> False; _ -> True+ , \x y -> case (x,y) of (True,0) -> True; (False,1) -> True; _ -> False+ , \x y -> case (x,y) of (_,0) -> False; (_,1) -> True; (False,_) -> False; _ -> True+ , \x y -> case (x,y) of (_,0) -> True; (_,1) -> False; (False,_) -> True; _ -> False+ , \x y -> case (x,y) of (True,0) -> False; (False,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (False,1) -> True; _ -> False+ , \x y -> case (x,y) of (_,0) -> True; (_,1) -> True; (False,_) -> False; _ -> True+ , \x y -> case (x,y) of (False,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (_,0) -> False; (_,1) -> False; (False,_) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (False,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,-1) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (True,0) -> True; (True,-1) -> True; _ -> False+ , \x y -> case (x,y) of (True,2) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (True,0) -> False; (True,-1) -> False; _ -> True+ , \x y -> case (x,y) of (True,2) -> False; _ -> True+ , \x y -> case (x,y) of (_,0) -> True; (True,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (_,0) -> False; (True,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> False; (True,-1) -> False; _ -> True+ , \_ y -> case y of 1 -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \_ y -> case y of 1 -> False; _ -> True+ , \x y -> case (x,y) of (_,0) -> True; (False,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...+ , \x y -> case (x,y) of (True,0) -> True; (False,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...+ , \x y -> case (x,y) of (_,0) -> False; (False,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (True,0) -> False; (False,-1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (False,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,2) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> False; (False,-1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,2) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (True,0) -> True; (True,2) -> True; _ -> False+ , \x y -> case (x,y) of (True,1) -> True; (True,-1) -> True; _ -> False+ , \x y -> case (x,y) of (True,-2) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (True,0) -> False; (True,2) -> False; _ -> True+ , \x y -> case (x,y) of (True,1) -> False; (True,-1) -> False; _ -> True+ , \x y -> case (x,y) of (True,-2) -> False; _ -> True+ , \x y -> case (x,y) of (_,0) -> True; (True,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,2) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (_,0) -> False; (True,-1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> False; (True,2) -> False; _ -> True+ , \x y -> case (x,y) of (True,0) -> True; (_,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,1) -> True; (True,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+ , \x y -> case (x,y) of (True,0) -> False; (_,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,1) -> False; (True,-1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (_,1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (True,1) -> True; (False,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (_,1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> True; ...+ , \x y -> case (x,y) of (True,1) -> False; (False,-1) -> False; _ -> True+ , \x y -> case (x,y) of (_,0) -> True; (False,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (True,0) -> True; (False,2) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (_,0) -> False; (False,-1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (True,0) -> False; (False,2) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (False,2) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,1) -> True; (False,-1) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> True; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,-2) -> True; _ -> False+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> True; (False,1) -> False; (True,1) -> True; ...+ , \x y -> case (x,y) of (False,0) -> False; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,0) -> False; (False,2) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> False; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,1) -> False; (False,-1) -> False; _ -> True+ , \x y -> case (x,y) of (False,0) -> True; (True,0) -> False; (False,1) -> True; (True,1) -> False; ...+ , \x y -> case (x,y) of (False,-2) -> False; _ -> True+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Bool-MBool.out view
@@ -0,0 +1,21 @@+map length (tiers :: [[ Bool->Maybe Bool ]]) = [1,4,4]++length (list :: [ Bool->Maybe Bool ]) = 9++allUnique (list :: [ Bool->Maybe Bool ]) = True++ratioRepetitions (list :: [ Bool->Maybe Bool ]) = 0 % 1++tiers :: [Bool->Maybe Bool] =+ [ [\_ -> Nothing]+ , [ \x -> case x of False -> Nothing; True -> Just False+ , \x -> case x of False -> Nothing; True -> Just True+ , \x -> case x of False -> Just False; True -> Nothing+ , \x -> case x of False -> Just True; True -> Nothing+ ]+ , [ \_ -> Just False+ , \x -> case x of False -> Just False; True -> Just True+ , \x -> case x of False -> Just True; True -> Just False+ , \_ -> Just True+ ]+ ]
+ test/diff/tiers-4cases-Bool-U.out view
@@ -0,0 +1,10 @@+map length (tiers :: [[ Bool->() ]]) = [1]++length (list :: [ Bool->() ]) = 1++allUnique (list :: [ Bool->() ]) = True++ratioRepetitions (list :: [ Bool->() ]) = 0 % 1++tiers :: [Bool->()] =+ [[\_ -> ()]]
+ test/diff/tiers-4cases-Bools-Bools.out view
@@ -0,0 +1,419 @@+map length (tiers :: [[ [Bool]->[Bool] ]]) = [1,2,8,26,88,278,...]++length (list :: [ [Bool]->[Bool] ]) = Infinity++allUnique (list :: [ [Bool]->[Bool] ]) = True++ratioRepetitions (list :: [ [Bool]->[Bool] ]) = 0 % 1++tiers :: [[Bool]->[Bool]] =+ [ [\_ -> []]+ , [ \_ -> [False]+ , \_ -> [True]+ ]+ , [ \x -> case x of [] -> [False]; _ -> []+ , \x -> case x of [] -> [True]; _ -> []+ , \x -> case x of [] -> []; _ -> [False]+ , \x -> case x of [] -> []; _ -> [True]+ , \_ -> [False,False]+ , \_ -> [False,True]+ , \_ -> [True,False]+ , \_ -> [True,True]+ ]+ , [ \x -> case x of [] -> [False,False]; _ -> []+ , \x -> case x of [] -> [False,True]; _ -> []+ , \x -> case x of [] -> [True,False]; _ -> []+ , \x -> case x of [] -> [True,True]; _ -> []+ , \x -> case x of [False] -> [False]; _ -> []+ , \x -> case x of [False] -> [True]; _ -> []+ , \x -> case x of [True] -> [False]; _ -> []+ , \x -> case x of [True] -> [True]; _ -> []+ , \x -> case x of [] -> [True]; _ -> [False]+ , \x -> case x of [False] -> []; _ -> [False]+ , \x -> case x of [True] -> []; _ -> [False]+ , \x -> case x of [] -> [False]; _ -> [True]+ , \x -> case x of [False] -> []; _ -> [True]+ , \x -> case x of [True] -> []; _ -> [True]+ , \x -> case x of [] -> []; _ -> [False,False]+ , \x -> case x of [] -> []; _ -> [False,True]+ , \x -> case x of [] -> []; _ -> [True,False]+ , \x -> case x of [] -> []; _ -> [True,True]+ , \_ -> [False,False,False]+ , \_ -> [False,False,True]+ , \_ -> [False,True,False]+ , \_ -> [False,True,True]+ , \_ -> [True,False,False]+ , \_ -> [True,False,True]+ , \_ -> [True,True,False]+ , \_ -> [True,True,True]+ ]+ , [ \x -> case x of [] -> [False,False,False]; _ -> []+ , \x -> case x of [] -> [False,False,True]; _ -> []+ , \x -> case x of [] -> [False,True,False]; _ -> []+ , \x -> case x of [] -> [False,True,True]; _ -> []+ , \x -> case x of [] -> [True,False,False]; _ -> []+ , \x -> case x of [] -> [True,False,True]; _ -> []+ , \x -> case x of [] -> [True,True,False]; _ -> []+ , \x -> case x of [] -> [True,True,True]; _ -> []+ , \x -> case x of [False] -> [False,False]; _ -> []+ , \x -> case x of [False] -> [False,True]; _ -> []+ , \x -> case x of [False] -> [True,False]; _ -> []+ , \x -> case x of [False] -> [True,True]; _ -> []+ , \x -> case x of [True] -> [False,False]; _ -> []+ , \x -> case x of [True] -> [False,True]; _ -> []+ , \x -> case x of [True] -> [True,False]; _ -> []+ , \x -> case x of [True] -> [True,True]; _ -> []+ , \x -> case x of [False,False] -> [False]; _ -> []+ , \x -> case x of [False,False] -> [True]; _ -> []+ , \x -> case x of [False,True] -> [False]; _ -> []+ , \x -> case x of [False,True] -> [True]; _ -> []+ , \x -> case x of [True,False] -> [False]; _ -> []+ , \x -> case x of [True,False] -> [True]; _ -> []+ , \x -> case x of [True,True] -> [False]; _ -> []+ , \x -> case x of [True,True] -> [True]; _ -> []+ , \x -> case x of [] -> [False,False]; _ -> [False]+ , \x -> case x of [] -> [False,True]; _ -> [False]+ , \x -> case x of [] -> [True,False]; _ -> [False]+ , \x -> case x of [] -> [True,True]; _ -> [False]+ , \x -> case x of [False] -> [True]; _ -> [False]+ , \x -> case x of [True] -> [True]; _ -> [False]+ , \x -> case x of [] -> []; [False] -> []; _ -> [False]+ , \x -> case x of [] -> []; [True] -> []; _ -> [False]+ , \x -> case x of [False,False] -> []; _ -> [False]+ , \x -> case x of [False,True] -> []; _ -> [False]+ , \x -> case x of [True,False] -> []; _ -> [False]+ , \x -> case x of [True,True] -> []; _ -> [False]+ , \x -> case x of [] -> [False,False]; _ -> [True]+ , \x -> case x of [] -> [False,True]; _ -> [True]+ , \x -> case x of [] -> [True,False]; _ -> [True]+ , \x -> case x of [] -> [True,True]; _ -> [True]+ , \x -> case x of [False] -> [False]; _ -> [True]+ , \x -> case x of [True] -> [False]; _ -> [True]+ , \x -> case x of [] -> []; [False] -> []; _ -> [True]+ , \x -> case x of [] -> []; [True] -> []; _ -> [True]+ , \x -> case x of [False,False] -> []; _ -> [True]+ , \x -> case x of [False,True] -> []; _ -> [True]+ , \x -> case x of [True,False] -> []; _ -> [True]+ , \x -> case x of [True,True] -> []; _ -> [True]+ , \x -> case x of [] -> [False]; _ -> [False,False]+ , \x -> case x of [] -> [True]; _ -> [False,False]+ , \x -> case x of [False] -> []; _ -> [False,False]+ , \x -> case x of [True] -> []; _ -> [False,False]+ , \x -> case x of [] -> [False]; _ -> [False,True]+ , \x -> case x of [] -> [True]; _ -> [False,True]+ , \x -> case x of [False] -> []; _ -> [False,True]+ , \x -> case x of [True] -> []; _ -> [False,True]+ , \x -> case x of [] -> [False]; _ -> [True,False]+ , \x -> case x of [] -> [True]; _ -> [True,False]+ , \x -> case x of [False] -> []; _ -> [True,False]+ , \x -> case x of [True] -> []; _ -> [True,False]+ , \x -> case x of [] -> [False]; _ -> [True,True]+ , \x -> case x of [] -> [True]; _ -> [True,True]+ , \x -> case x of [False] -> []; _ -> [True,True]+ , \x -> case x of [True] -> []; _ -> [True,True]+ , \x -> case x of [] -> []; _ -> [False,False,False]+ , \x -> case x of [] -> []; _ -> [False,False,True]+ , \x -> case x of [] -> []; _ -> [False,True,False]+ , \x -> case x of [] -> []; _ -> [False,True,True]+ , \x -> case x of [] -> []; _ -> [True,False,False]+ , \x -> case x of [] -> []; _ -> [True,False,True]+ , \x -> case x of [] -> []; _ -> [True,True,False]+ , \x -> case x of [] -> []; _ -> [True,True,True]+ , \_ -> [False,False,False,False]+ , \_ -> [False,False,False,True]+ , \_ -> [False,False,True,False]+ , \_ -> [False,False,True,True]+ , \_ -> [False,True,False,False]+ , \_ -> [False,True,False,True]+ , \_ -> [False,True,True,False]+ , \_ -> [False,True,True,True]+ , \_ -> [True,False,False,False]+ , \_ -> [True,False,False,True]+ , \_ -> [True,False,True,False]+ , \_ -> [True,False,True,True]+ , \_ -> [True,True,False,False]+ , \_ -> [True,True,False,True]+ , \_ -> [True,True,True,False]+ , \_ -> [True,True,True,True]+ ]+ , [ \x -> case x of [] -> [False,False,False,False]; _ -> []+ , \x -> case x of [] -> [False,False,False,True]; _ -> []+ , \x -> case x of [] -> [False,False,True,False]; _ -> []+ , \x -> case x of [] -> [False,False,True,True]; _ -> []+ , \x -> case x of [] -> [False,True,False,False]; _ -> []+ , \x -> case x of [] -> [False,True,False,True]; _ -> []+ , \x -> case x of [] -> [False,True,True,False]; _ -> []+ , \x -> case x of [] -> [False,True,True,True]; _ -> []+ , \x -> case x of [] -> [True,False,False,False]; _ -> []+ , \x -> case x of [] -> [True,False,False,True]; _ -> []+ , \x -> case x of [] -> [True,False,True,False]; _ -> []+ , \x -> case x of [] -> [True,False,True,True]; _ -> []+ , \x -> case x of [] -> [True,True,False,False]; _ -> []+ , \x -> case x of [] -> [True,True,False,True]; _ -> []+ , \x -> case x of [] -> [True,True,True,False]; _ -> []+ , \x -> case x of [] -> [True,True,True,True]; _ -> []+ , \x -> case x of [False] -> [False,False,False]; _ -> []+ , \x -> case x of [False] -> [False,False,True]; _ -> []+ , \x -> case x of [False] -> [False,True,False]; _ -> []+ , \x -> case x of [False] -> [False,True,True]; _ -> []+ , \x -> case x of [False] -> [True,False,False]; _ -> []+ , \x -> case x of [False] -> [True,False,True]; _ -> []+ , \x -> case x of [False] -> [True,True,False]; _ -> []+ , \x -> case x of [False] -> [True,True,True]; _ -> []+ , \x -> case x of [True] -> [False,False,False]; _ -> []+ , \x -> case x of [True] -> [False,False,True]; _ -> []+ , \x -> case x of [True] -> [False,True,False]; _ -> []+ , \x -> case x of [True] -> [False,True,True]; _ -> []+ , \x -> case x of [True] -> [True,False,False]; _ -> []+ , \x -> case x of [True] -> [True,False,True]; _ -> []+ , \x -> case x of [True] -> [True,True,False]; _ -> []+ , \x -> case x of [True] -> [True,True,True]; _ -> []+ , \x -> case x of [] -> [False]; [False] -> [False]; _ -> []+ , \x -> case x of [] -> [False]; [False] -> [True]; _ -> []+ , \x -> case x of [] -> [True]; [False] -> [False]; _ -> []+ , \x -> case x of [] -> [True]; [False] -> [True]; _ -> []+ , \x -> case x of [] -> [False]; [True] -> [False]; _ -> []+ , \x -> case x of [] -> [False]; [True] -> [True]; _ -> []+ , \x -> case x of [] -> [True]; [True] -> [False]; _ -> []+ , \x -> case x of [] -> [True]; [True] -> [True]; _ -> []+ , \x -> case x of [False,False] -> [False,False]; _ -> []+ , \x -> case x of [False,False] -> [False,True]; _ -> []+ , \x -> case x of [False,False] -> [True,False]; _ -> []+ , \x -> case x of [False,False] -> [True,True]; _ -> []+ , \x -> case x of [False,True] -> [False,False]; _ -> []+ , \x -> case x of [False,True] -> [False,True]; _ -> []+ , \x -> case x of [False,True] -> [True,False]; _ -> []+ , \x -> case x of [False,True] -> [True,True]; _ -> []+ , \x -> case x of [True,False] -> [False,False]; _ -> []+ , \x -> case x of [True,False] -> [False,True]; _ -> []+ , \x -> case x of [True,False] -> [True,False]; _ -> []+ , \x -> case x of [True,False] -> [True,True]; _ -> []+ , \x -> case x of [True,True] -> [False,False]; _ -> []+ , \x -> case x of [True,True] -> [False,True]; _ -> []+ , \x -> case x of [True,True] -> [True,False]; _ -> []+ , \x -> case x of [True,True] -> [True,True]; _ -> []+ , \x -> case x of [False,False,False] -> [False]; _ -> []+ , \x -> case x of [False,False,False] -> [True]; _ -> []+ , \x -> case x of [False,False,True] -> [False]; _ -> []+ , \x -> case x of [False,False,True] -> [True]; _ -> []+ , \x -> case x of [False,True,False] -> [False]; _ -> []+ , \x -> case x of [False,True,False] -> [True]; _ -> []+ , \x -> case x of [False,True,True] -> [False]; _ -> []+ , \x -> case x of [False,True,True] -> [True]; _ -> []+ , \x -> case x of [True,False,False] -> [False]; _ -> []+ , \x -> case x of [True,False,False] -> [True]; _ -> []+ , \x -> case x of [True,False,True] -> [False]; _ -> []+ , \x -> case x of [True,False,True] -> [True]; _ -> []+ , \x -> case x of [True,True,False] -> [False]; _ -> []+ , \x -> case x of [True,True,False] -> [True]; _ -> []+ , \x -> case x of [True,True,True] -> [False]; _ -> []+ , \x -> case x of [True,True,True] -> [True]; _ -> []+ , \x -> case x of [] -> [False,False,False]; _ -> [False]+ , \x -> case x of [] -> [False,False,True]; _ -> [False]+ , \x -> case x of [] -> [False,True,False]; _ -> [False]+ , \x -> case x of [] -> [False,True,True]; _ -> [False]+ , \x -> case x of [] -> [True,False,False]; _ -> [False]+ , \x -> case x of [] -> [True,False,True]; _ -> [False]+ , \x -> case x of [] -> [True,True,False]; _ -> [False]+ , \x -> case x of [] -> [True,True,True]; _ -> [False]+ , \x -> case x of [False] -> [False,False]; _ -> [False]+ , \x -> case x of [False] -> [False,True]; _ -> [False]+ , \x -> case x of [False] -> [True,False]; _ -> [False]+ , \x -> case x of [False] -> [True,True]; _ -> [False]+ , \x -> case x of [True] -> [False,False]; _ -> [False]+ , \x -> case x of [True] -> [False,True]; _ -> [False]+ , \x -> case x of [True] -> [True,False]; _ -> [False]+ , \x -> case x of [True] -> [True,True]; _ -> [False]+ , \x -> case x of [] -> []; [False] -> [True]; _ -> [False]+ , \x -> case x of [] -> [True]; [False] -> []; _ -> [False]+ , \x -> case x of [] -> []; [True] -> [True]; _ -> [False]+ , \x -> case x of [] -> [True]; [True] -> []; _ -> [False]+ , \x -> case x of [False,False] -> [True]; _ -> [False]+ , \x -> case x of [False,True] -> [True]; _ -> [False]+ , \x -> case x of [True,False] -> [True]; _ -> [False]+ , \x -> case x of [True,True] -> [True]; _ -> [False]+ , \x -> case x of [] -> []; [False,False] -> []; _ -> [False]+ , \x -> case x of [] -> []; [False,True] -> []; _ -> [False]+ , \x -> case x of [] -> []; [True,False] -> []; _ -> [False]+ , \x -> case x of [] -> []; [True,True] -> []; _ -> [False]+ , \x -> case x of [False] -> []; [True] -> []; _ -> [False]+ , \x -> case x of [False,False,False] -> []; _ -> [False]+ , \x -> case x of [False,False,True] -> []; _ -> [False]+ , \x -> case x of [False,True,False] -> []; _ -> [False]+ , \x -> case x of [False,True,True] -> []; _ -> [False]+ , \x -> case x of [True,False,False] -> []; _ -> [False]+ , \x -> case x of [True,False,True] -> []; _ -> [False]+ , \x -> case x of [True,True,False] -> []; _ -> [False]+ , \x -> case x of [True,True,True] -> []; _ -> [False]+ , \x -> case x of [] -> [False,False,False]; _ -> [True]+ , \x -> case x of [] -> [False,False,True]; _ -> [True]+ , \x -> case x of [] -> [False,True,False]; _ -> [True]+ , \x -> case x of [] -> [False,True,True]; _ -> [True]+ , \x -> case x of [] -> [True,False,False]; _ -> [True]+ , \x -> case x of [] -> [True,False,True]; _ -> [True]+ , \x -> case x of [] -> [True,True,False]; _ -> [True]+ , \x -> case x of [] -> [True,True,True]; _ -> [True]+ , \x -> case x of [False] -> [False,False]; _ -> [True]+ , \x -> case x of [False] -> [False,True]; _ -> [True]+ , \x -> case x of [False] -> [True,False]; _ -> [True]+ , \x -> case x of [False] -> [True,True]; _ -> [True]+ , \x -> case x of [True] -> [False,False]; _ -> [True]+ , \x -> case x of [True] -> [False,True]; _ -> [True]+ , \x -> case x of [True] -> [True,False]; _ -> [True]+ , \x -> case x of [True] -> [True,True]; _ -> [True]+ , \x -> case x of [] -> []; [False] -> [False]; _ -> [True]+ , \x -> case x of [] -> [False]; [False] -> []; _ -> [True]+ , \x -> case x of [] -> []; [True] -> [False]; _ -> [True]+ , \x -> case x of [] -> [False]; [True] -> []; _ -> [True]+ , \x -> case x of [False,False] -> [False]; _ -> [True]+ , \x -> case x of [False,True] -> [False]; _ -> [True]+ , \x -> case x of [True,False] -> [False]; _ -> [True]+ , \x -> case x of [True,True] -> [False]; _ -> [True]+ , \x -> case x of [] -> []; [False,False] -> []; _ -> [True]+ , \x -> case x of [] -> []; [False,True] -> []; _ -> [True]+ , \x -> case x of [] -> []; [True,False] -> []; _ -> [True]+ , \x -> case x of [] -> []; [True,True] -> []; _ -> [True]+ , \x -> case x of [False] -> []; [True] -> []; _ -> [True]+ , \x -> case x of [False,False,False] -> []; _ -> [True]+ , \x -> case x of [False,False,True] -> []; _ -> [True]+ , \x -> case x of [False,True,False] -> []; _ -> [True]+ , \x -> case x of [False,True,True] -> []; _ -> [True]+ , \x -> case x of [True,False,False] -> []; _ -> [True]+ , \x -> case x of [True,False,True] -> []; _ -> [True]+ , \x -> case x of [True,True,False] -> []; _ -> [True]+ , \x -> case x of [True,True,True] -> []; _ -> [True]+ , \x -> case x of [] -> [False,True]; _ -> [False,False]+ , \x -> case x of [] -> [True,False]; _ -> [False,False]+ , \x -> case x of [] -> [True,True]; _ -> [False,False]+ , \x -> case x of [False] -> [False]; _ -> [False,False]+ , \x -> case x of [False] -> [True]; _ -> [False,False]+ , \x -> case x of [True] -> [False]; _ -> [False,False]+ , \x -> case x of [True] -> [True]; _ -> [False,False]+ , \x -> case x of [] -> []; [False] -> []; _ -> [False,False]+ , \x -> case x of [] -> []; [True] -> []; _ -> [False,False]+ , \x -> case x of [False,False] -> []; _ -> [False,False]+ , \x -> case x of [False,True] -> []; _ -> [False,False]+ , \x -> case x of [True,False] -> []; _ -> [False,False]+ , \x -> case x of [True,True] -> []; _ -> [False,False]+ , \x -> case x of [] -> [False,False]; _ -> [False,True]+ , \x -> case x of [] -> [True,False]; _ -> [False,True]+ , \x -> case x of [] -> [True,True]; _ -> [False,True]+ , \x -> case x of [False] -> [False]; _ -> [False,True]+ , \x -> case x of [False] -> [True]; _ -> [False,True]+ , \x -> case x of [True] -> [False]; _ -> [False,True]+ , \x -> case x of [True] -> [True]; _ -> [False,True]+ , \x -> case x of [] -> []; [False] -> []; _ -> [False,True]+ , \x -> case x of [] -> []; [True] -> []; _ -> [False,True]+ , \x -> case x of [False,False] -> []; _ -> [False,True]+ , \x -> case x of [False,True] -> []; _ -> [False,True]+ , \x -> case x of [True,False] -> []; _ -> [False,True]+ , \x -> case x of [True,True] -> []; _ -> [False,True]+ , \x -> case x of [] -> [False,False]; _ -> [True,False]+ , \x -> case x of [] -> [False,True]; _ -> [True,False]+ , \x -> case x of [] -> [True,True]; _ -> [True,False]+ , \x -> case x of [False] -> [False]; _ -> [True,False]+ , \x -> case x of [False] -> [True]; _ -> [True,False]+ , \x -> case x of [True] -> [False]; _ -> [True,False]+ , \x -> case x of [True] -> [True]; _ -> [True,False]+ , \x -> case x of [] -> []; [False] -> []; _ -> [True,False]+ , \x -> case x of [] -> []; [True] -> []; _ -> [True,False]+ , \x -> case x of [False,False] -> []; _ -> [True,False]+ , \x -> case x of [False,True] -> []; _ -> [True,False]+ , \x -> case x of [True,False] -> []; _ -> [True,False]+ , \x -> case x of [True,True] -> []; _ -> [True,False]+ , \x -> case x of [] -> [False,False]; _ -> [True,True]+ , \x -> case x of [] -> [False,True]; _ -> [True,True]+ , \x -> case x of [] -> [True,False]; _ -> [True,True]+ , \x -> case x of [False] -> [False]; _ -> [True,True]+ , \x -> case x of [False] -> [True]; _ -> [True,True]+ , \x -> case x of [True] -> [False]; _ -> [True,True]+ , \x -> case x of [True] -> [True]; _ -> [True,True]+ , \x -> case x of [] -> []; [False] -> []; _ -> [True,True]+ , \x -> case x of [] -> []; [True] -> []; _ -> [True,True]+ , \x -> case x of [False,False] -> []; _ -> [True,True]+ , \x -> case x of [False,True] -> []; _ -> [True,True]+ , \x -> case x of [True,False] -> []; _ -> [True,True]+ , \x -> case x of [True,True] -> []; _ -> [True,True]+ , \x -> case x of [] -> [False]; _ -> [False,False,False]+ , \x -> case x of [] -> [True]; _ -> [False,False,False]+ , \x -> case x of [False] -> []; _ -> [False,False,False]+ , \x -> case x of [True] -> []; _ -> [False,False,False]+ , \x -> case x of [] -> [False]; _ -> [False,False,True]+ , \x -> case x of [] -> [True]; _ -> [False,False,True]+ , \x -> case x of [False] -> []; _ -> [False,False,True]+ , \x -> case x of [True] -> []; _ -> [False,False,True]+ , \x -> case x of [] -> [False]; _ -> [False,True,False]+ , \x -> case x of [] -> [True]; _ -> [False,True,False]+ , \x -> case x of [False] -> []; _ -> [False,True,False]+ , \x -> case x of [True] -> []; _ -> [False,True,False]+ , \x -> case x of [] -> [False]; _ -> [False,True,True]+ , \x -> case x of [] -> [True]; _ -> [False,True,True]+ , \x -> case x of [False] -> []; _ -> [False,True,True]+ , \x -> case x of [True] -> []; _ -> [False,True,True]+ , \x -> case x of [] -> [False]; _ -> [True,False,False]+ , \x -> case x of [] -> [True]; _ -> [True,False,False]+ , \x -> case x of [False] -> []; _ -> [True,False,False]+ , \x -> case x of [True] -> []; _ -> [True,False,False]+ , \x -> case x of [] -> [False]; _ -> [True,False,True]+ , \x -> case x of [] -> [True]; _ -> [True,False,True]+ , \x -> case x of [False] -> []; _ -> [True,False,True]+ , \x -> case x of [True] -> []; _ -> [True,False,True]+ , \x -> case x of [] -> [False]; _ -> [True,True,False]+ , \x -> case x of [] -> [True]; _ -> [True,True,False]+ , \x -> case x of [False] -> []; _ -> [True,True,False]+ , \x -> case x of [True] -> []; _ -> [True,True,False]+ , \x -> case x of [] -> [False]; _ -> [True,True,True]+ , \x -> case x of [] -> [True]; _ -> [True,True,True]+ , \x -> case x of [False] -> []; _ -> [True,True,True]+ , \x -> case x of [True] -> []; _ -> [True,True,True]+ , \x -> case x of [] -> []; _ -> [False,False,False,False]+ , \x -> case x of [] -> []; _ -> [False,False,False,True]+ , \x -> case x of [] -> []; _ -> [False,False,True,False]+ , \x -> case x of [] -> []; _ -> [False,False,True,True]+ , \x -> case x of [] -> []; _ -> [False,True,False,False]+ , \x -> case x of [] -> []; _ -> [False,True,False,True]+ , \x -> case x of [] -> []; _ -> [False,True,True,False]+ , \x -> case x of [] -> []; _ -> [False,True,True,True]+ , \x -> case x of [] -> []; _ -> [True,False,False,False]+ , \x -> case x of [] -> []; _ -> [True,False,False,True]+ , \x -> case x of [] -> []; _ -> [True,False,True,False]+ , \x -> case x of [] -> []; _ -> [True,False,True,True]+ , \x -> case x of [] -> []; _ -> [True,True,False,False]+ , \x -> case x of [] -> []; _ -> [True,True,False,True]+ , \x -> case x of [] -> []; _ -> [True,True,True,False]+ , \x -> case x of [] -> []; _ -> [True,True,True,True]+ , \_ -> [False,False,False,False,False]+ , \_ -> [False,False,False,False,True]+ , \_ -> [False,False,False,True,False]+ , \_ -> [False,False,False,True,True]+ , \_ -> [False,False,True,False,False]+ , \_ -> [False,False,True,False,True]+ , \_ -> [False,False,True,True,False]+ , \_ -> [False,False,True,True,True]+ , \_ -> [False,True,False,False,False]+ , \_ -> [False,True,False,False,True]+ , \_ -> [False,True,False,True,False]+ , \_ -> [False,True,False,True,True]+ , \_ -> [False,True,True,False,False]+ , \_ -> [False,True,True,False,True]+ , \_ -> [False,True,True,True,False]+ , \_ -> [False,True,True,True,True]+ , \_ -> [True,False,False,False,False]+ , \_ -> [True,False,False,False,True]+ , \_ -> [True,False,False,True,False]+ , \_ -> [True,False,False,True,True]+ , \_ -> [True,False,True,False,False]+ , \_ -> [True,False,True,False,True]+ , \_ -> [True,False,True,True,False]+ , \_ -> [True,False,True,True,True]+ , \_ -> [True,True,False,False,False]+ , \_ -> [True,True,False,False,True]+ , \_ -> [True,True,False,True,False]+ , \_ -> [True,True,False,True,True]+ , \_ -> [True,True,True,False,False]+ , \_ -> [True,True,True,False,True]+ , \_ -> [True,True,True,True,False]+ , \_ -> [True,True,True,True,True]+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Int-Bool-Bool.out view
@@ -0,0 +1,225 @@+map length (tiers :: [[ Int->Bool->Bool ]]) = [4,12,12,48,48,84,...]++length (list :: [ Int->Bool->Bool ]) = Infinity++allUnique (list :: [ Int->Bool->Bool ]) = True++ratioRepetitions (list :: [ Int->Bool->Bool ]) = 0 % 1++tiers :: [Int->Bool->Bool] =+ [ [ \_ _ -> False+ , \_ y -> case y of False -> False; _ -> True+ , \_ y -> case y of False -> True; _ -> False+ , \_ _ -> True+ ]+ , [ \x y -> case (x,y) of (0,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; _ -> False+ , \x _ -> case x of 0 -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> False; (_,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> True; (0,_) -> False; (_,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> True; (_,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> False; (_,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> False; (0,_) -> True; (_,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> True; (_,False) -> True; _ -> False+ , \x _ -> case x of 0 -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (1,True) -> True; _ -> False+ , \x y -> case (x,y) of (1,False) -> True; _ -> False+ , \x _ -> case x of 1 -> True; _ -> False+ , \x y -> case (x,y) of (_,False) -> False; (0,_) -> True; (1,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (_,False) -> True; (0,_) -> False; (1,_) -> True; _ -> False+ , \x _ -> case x of 1 -> False; _ -> True+ , \x y -> case (x,y) of (1,False) -> False; _ -> True+ , \x y -> case (x,y) of (1,True) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (0,True) -> True; (1,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,True) -> True; (1,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,True) -> True; (1,_) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (1,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (1,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (1,_) -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> True; (1,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> True; (1,False) -> True; _ -> False+ , \x _ -> case x of 0 -> True; 1 -> True; _ -> False+ , \x y -> case (x,y) of (-1,True) -> True; _ -> False+ , \x y -> case (x,y) of (-1,False) -> True; _ -> False+ , \x _ -> case x of -1 -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> False; (_,False) -> False; (1,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,_) -> False; (1,_) -> True; (_,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,_) -> True; (1,_) -> False; (_,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,_) -> True; (1,_) -> True; (_,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,_) -> False; (1,_) -> False; (_,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,_) -> False; (1,_) -> True; (_,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,_) -> True; (1,_) -> False; (_,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,_) -> True; (_,False) -> True; (1,_) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x _ -> case x of 0 -> False; 1 -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> False; (1,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> False; (1,True) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (1,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (1,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (1,True) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (1,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (1,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (1,True) -> False; _ -> True+ , \x _ -> case x of -1 -> False; _ -> True+ , \x y -> case (x,y) of (-1,False) -> False; _ -> True+ , \x y -> case (x,y) of (-1,True) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (0,True) -> True; (-1,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,True) -> True; (-1,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,True) -> True; (-1,_) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (-1,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (-1,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (-1,_) -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> True; (-1,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> True; (-1,False) -> True; _ -> False+ , \x _ -> case x of 0 -> True; -1 -> True; _ -> False+ , \x y -> case (x,y) of (2,True) -> True; _ -> False+ , \x y -> case (x,y) of (2,False) -> True; _ -> False+ , \x _ -> case x of 2 -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x _ -> case x of 0 -> False; -1 -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> False; (-1,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> False; (-1,True) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (-1,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (-1,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (-1,True) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (-1,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (-1,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (-1,True) -> False; _ -> True+ , \x _ -> case x of 2 -> False; _ -> True+ , \x y -> case (x,y) of (2,False) -> False; _ -> True+ , \x y -> case (x,y) of (2,True) -> False; _ -> True+ ]+ , [ \x y -> case (x,y) of (0,True) -> True; (2,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,True) -> True; (2,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,True) -> True; (2,_) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (2,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (2,False) -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> True; (2,_) -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> True; (2,True) -> True; _ -> False+ , \x y -> case (x,y) of (0,_) -> True; (2,False) -> True; _ -> False+ , \x _ -> case x of 0 -> True; 2 -> True; _ -> False+ , \x y -> case (x,y) of (1,True) -> True; (-1,True) -> True; _ -> False+ , \x y -> case (x,y) of (1,True) -> True; (-1,False) -> True; _ -> False+ , \x y -> case (x,y) of (1,True) -> True; (-1,_) -> True; _ -> False+ , \x y -> case (x,y) of (1,False) -> True; (-1,True) -> True; _ -> False+ , \x y -> case (x,y) of (1,False) -> True; (-1,False) -> True; _ -> False+ , \x y -> case (x,y) of (1,False) -> True; (-1,_) -> True; _ -> False+ , \x y -> case (x,y) of (1,_) -> True; (-1,True) -> True; _ -> False+ , \x y -> case (x,y) of (1,_) -> True; (-1,False) -> True; _ -> False+ , \x _ -> case x of 1 -> True; -1 -> True; _ -> False+ , \x y -> case (x,y) of (-2,True) -> True; _ -> False+ , \x y -> case (x,y) of (-2,False) -> True; _ -> False+ , \x _ -> case x of -2 -> True; _ -> False+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> False; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> True; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> False; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> True; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x y -> case (x,y) of (0,False) -> True; (0,True) -> False; (1,False) -> True; (1,True) -> False; ...+ , \x _ -> case x of 0 -> False; 2 -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> False; (2,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,_) -> False; (2,True) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (2,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (2,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,False) -> False; (2,True) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (2,_) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (2,False) -> False; _ -> True+ , \x y -> case (x,y) of (0,True) -> False; (2,True) -> False; _ -> True+ , \x _ -> case x of 1 -> False; -1 -> False; _ -> True+ , \x y -> case (x,y) of (1,_) -> False; (-1,False) -> False; _ -> True+ , \x y -> case (x,y) of (1,_) -> False; (-1,True) -> False; _ -> True+ , \x y -> case (x,y) of (1,False) -> False; (-1,_) -> False; _ -> True+ , \x y -> case (x,y) of (1,False) -> False; (-1,False) -> False; _ -> True+ , \x y -> case (x,y) of (1,False) -> False; (-1,True) -> False; _ -> True+ , \x y -> case (x,y) of (1,True) -> False; (-1,_) -> False; _ -> True+ , \x y -> case (x,y) of (1,True) -> False; (-1,False) -> False; _ -> True+ , \x y -> case (x,y) of (1,True) -> False; (-1,True) -> False; _ -> True+ , \x _ -> case x of -2 -> False; _ -> True+ , \x y -> case (x,y) of (-2,False) -> False; _ -> True+ , \x y -> case (x,y) of (-2,True) -> False; _ -> True+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Int-Int-Int-Int.out view
@@ -0,0 +1,47 @@+map length (tiers :: [[ Int->Int->Int->Int ]]) = [1,1,7,25,...]++length (list :: [ Int->Int->Int->Int ]) = Infinity++allUnique (list :: [ Int->Int->Int->Int ]) = True++ratioRepetitions (list :: [ Int->Int->Int->Int ]) = 0 % 1++tiers :: [Int->Int->Int->Int] =+ [ [\_ _ _ -> 0]+ , [\_ _ _ -> 1]+ , [ \x _ _ -> case x of 0 -> 1; _ -> 0+ , \x _ _ -> case x of 0 -> 0; _ -> 1+ , \_ y _ -> case y of 0 -> 1; _ -> 0+ , \_ y _ -> case y of 0 -> 0; _ -> 1+ , \_ _ z -> case z of 0 -> 1; _ -> 0+ , \_ _ z -> case z of 0 -> 0; _ -> 1+ , \_ _ _ -> -1+ ]+ , [ \x y _ -> case (x,y) of (0,0) -> 1; _ -> 0+ , \x y _ -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0+ , \x _ z -> case (x,z) of (0,0) -> 1; _ -> 0+ , \x _ z -> case (x,z) of (_,0) -> 0; (0,_) -> 1; _ -> 0+ , \x _ _ -> case x of 0 -> -1; _ -> 0+ , \x _ _ -> case x of 1 -> 1; _ -> 0+ , \x _ _ -> case x of 1 -> 0; _ -> 1+ , \x y _ -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0+ , \x y _ -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1+ , \x _ z -> case (x,z) of (0,_) -> 0; (_,0) -> 1; _ -> 0+ , \x _ z -> case (x,z) of (0,_) -> 0; (_,0) -> 0; _ -> 1+ , \x _ _ -> case x of 0 -> 0; _ -> -1+ , \_ y z -> case (y,z) of (0,0) -> 1; _ -> 0+ , \_ y z -> case (y,z) of (_,0) -> 0; (0,_) -> 1; _ -> 0+ , \_ y _ -> case y of 0 -> -1; _ -> 0+ , \_ y _ -> case y of 1 -> 1; _ -> 0+ , \_ y _ -> case y of 1 -> 0; _ -> 1+ , \_ y z -> case (y,z) of (0,_) -> 0; (_,0) -> 1; _ -> 0+ , \_ y z -> case (y,z) of (0,_) -> 0; (_,0) -> 0; _ -> 1+ , \_ y _ -> case y of 0 -> 0; _ -> -1+ , \_ _ z -> case z of 0 -> -1; _ -> 0+ , \_ _ z -> case z of 1 -> 1; _ -> 0+ , \_ _ z -> case z of 1 -> 0; _ -> 1+ , \_ _ z -> case z of 0 -> 0; _ -> -1+ , \_ _ _ -> 2+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Int-Int-Int.out view
@@ -0,0 +1,151 @@+map length (tiers :: [[ Int->Int->Int ]]) = [1,1,5,13,35,81,...]++length (list :: [ Int->Int->Int ]) = Infinity++allUnique (list :: [ Int->Int->Int ]) = True++ratioRepetitions (list :: [ Int->Int->Int ]) = 0 % 1++tiers :: [Int->Int->Int] =+ [ [\_ _ -> 0]+ , [\_ _ -> 1]+ , [ \x _ -> case x of 0 -> 1; _ -> 0+ , \x _ -> case x of 0 -> 0; _ -> 1+ , \_ y -> case y of 0 -> 1; _ -> 0+ , \_ y -> case y of 0 -> 0; _ -> 1+ , \_ _ -> -1+ ]+ , [ \x y -> case (x,y) of (0,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0+ , \x _ -> case x of 0 -> -1; _ -> 0+ , \x _ -> case x of 1 -> 1; _ -> 0+ , \x _ -> case x of 1 -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1+ , \x _ -> case x of 0 -> 0; _ -> -1+ , \_ y -> case y of 0 -> -1; _ -> 0+ , \_ y -> case y of 1 -> 1; _ -> 0+ , \_ y -> case y of 1 -> 0; _ -> 1+ , \_ y -> case y of 0 -> 0; _ -> -1+ , \_ _ -> 2+ ]+ , [ \x y -> case (x,y) of (0,0) -> -1; _ -> 0+ , \x y -> case (x,y) of (0,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 1; ...+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> -1; _ -> 0+ , \x _ -> case x of 0 -> 2; _ -> 0+ , \x y -> case (x,y) of (1,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 1; _ -> 0+ , \x _ -> case x of 1 -> -1; _ -> 0+ , \x _ -> case x of -1 -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; _ -> 1+ , \x _ -> case x of 0 -> -1; _ -> 1+ , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 1+ , \x _ -> case x of -1 -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 0; ...+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 1+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; (1,_) -> 0; _ -> 1+ , \x _ -> case x of 0 -> 1; _ -> -1+ , \x _ -> case x of 1 -> 0; _ -> -1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; (_,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> -1+ , \x _ -> case x of 0 -> 0; _ -> 2+ , \_ y -> case y of 0 -> 2; _ -> 0+ , \_ y -> case y of 1 -> -1; _ -> 0+ , \_ y -> case y of -1 -> 1; _ -> 0+ , \_ y -> case y of 0 -> -1; _ -> 1+ , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 1+ , \_ y -> case y of -1 -> 0; _ -> 1+ , \_ y -> case y of 0 -> 1; _ -> -1+ , \_ y -> case y of 1 -> 0; _ -> -1+ , \_ y -> case y of 0 -> 0; _ -> 2+ , \_ _ -> -2+ ]+ , [ \x y -> case (x,y) of (0,0) -> 2; _ -> 0+ , \x y -> case (x,y) of (0,1) -> -1; _ -> 0+ , \x y -> case (x,y) of (0,-1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> -1; (0,_) -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 0; (_,1) -> 0; (0,_) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 1; (1,0) -> 0; (0,-1) -> 0; ...+ , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> -1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> -1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> -1; ...+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; _ -> 0+ , \x _ -> case x of 0 -> -2; _ -> 0+ , \x y -> case (x,y) of (1,0) -> -1; _ -> 0+ , \x y -> case (x,y) of (1,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 0; (1,0) -> 1; (0,-1) -> 0; ...+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> -1; _ -> 0+ , \x _ -> case x of 1 -> 2; _ -> 0+ , \x _ -> case x of 0 -> 1; 1 -> 1; _ -> 0+ , \x y -> case (x,y) of (-1,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (-1,1) -> 1; (-1,-1) -> 1; _ -> 0+ , \x _ -> case x of -1 -> -1; _ -> 0+ , \x _ -> case x of 2 -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> -1; (0,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,-1) -> 0; ...+ , \x y -> case (x,y) of (0,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> -1; _ -> 1+ , \x _ -> case x of 0 -> 2; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (1,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (1,0) -> 0; _ -> 1+ , \x _ -> case x of 1 -> -1; _ -> 1+ , \x _ -> case x of 0 -> 0; 1 -> 1; -1 -> 0; _ -> 1+ , \x _ -> case x of 2 -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> -1; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; (1,_) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (1,_) -> 0; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 1; (0,-1) -> 0; ...+ , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; (_,0) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> -1; (_,0) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,-1) -> 1; ...+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (_,0) -> 0; (-1,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; _ -> -1+ , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; _ -> -1+ , \x _ -> case x of 1 -> 1; _ -> -1+ , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> -1+ , \x _ -> case x of -1 -> 0; _ -> -1+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> -1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> -1; (0,1) -> 0; (1,0) -> 0; (0,-1) -> 0; ...+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; (_,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,1) -> 1; (-1,1) -> 1; (2,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (_,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (_,1) -> 0; (1,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> -1+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> -1; (1,_) -> 0; _ -> -1+ , \x _ -> case x of 0 -> 1; _ -> 2+ , \x _ -> case x of 1 -> 0; _ -> 2+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> -1; _ -> 0+ , \x y -> case (x,y) of (1,-1) -> 1; (-1,-1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,-1) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> -1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> -1; (_,1) -> 0; _ -> -1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 2+ , \x _ -> case x of 0 -> 0; _ -> -2+ , \_ y -> case y of 0 -> -2; _ -> 0+ , \_ y -> case y of 1 -> 2; _ -> 0+ , \_ y -> case y of 0 -> 1; 1 -> 1; _ -> 0+ , \_ y -> case y of -1 -> -1; _ -> 0+ , \_ y -> case y of 2 -> 1; _ -> 0+ , \_ y -> case y of 0 -> 2; _ -> 1+ , \_ y -> case y of 1 -> -1; _ -> 1+ , \_ y -> case y of 0 -> 0; -1 -> 0; _ -> 1+ , \_ y -> case y of 2 -> 0; _ -> 1+ , \_ y -> case y of 1 -> 1; _ -> -1+ , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> -1+ , \_ y -> case y of -1 -> 0; _ -> -1+ , \_ y -> case y of 0 -> 1; _ -> 2+ , \_ y -> case y of 1 -> 0; _ -> 2+ , \_ y -> case y of 0 -> 0; _ -> -2+ , \_ _ -> 3+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Int-Int.out view
@@ -0,0 +1,212 @@+map length (tiers :: [[ Int->Int ]]) = [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Int->Int ]) = Infinity++allUnique (list :: [ Int->Int ]) = True++ratioRepetitions (list :: [ Int->Int ]) = 0 % 1++tiers :: [Int->Int] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [ \x -> case x of 0 -> 1; _ -> 0+ , \x -> case x of 0 -> 0; _ -> 1+ , \_ -> -1+ ]+ , [ \x -> case x of 0 -> -1; _ -> 0+ , \x -> case x of 1 -> 1; _ -> 0+ , \x -> case x of 1 -> 0; _ -> 1+ , \x -> case x of 0 -> 0; _ -> -1+ , \_ -> 2+ ]+ , [ \x -> case x of 0 -> 2; _ -> 0+ , \x -> case x of 1 -> -1; _ -> 0+ , \x -> case x of -1 -> 1; _ -> 0+ , \x -> case x of 0 -> -1; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 1+ , \x -> case x of -1 -> 0; _ -> 1+ , \x -> case x of 0 -> 1; _ -> -1+ , \x -> case x of 1 -> 0; _ -> -1+ , \x -> case x of 0 -> 0; _ -> 2+ , \_ -> -2+ ]+ , [ \x -> case x of 0 -> -2; _ -> 0+ , \x -> case x of 1 -> 2; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> 1; _ -> 0+ , \x -> case x of -1 -> -1; _ -> 0+ , \x -> case x of 2 -> 1; _ -> 0+ , \x -> case x of 0 -> 2; _ -> 1+ , \x -> case x of 1 -> -1; _ -> 1+ , \x -> case x of 0 -> 0; -1 -> 0; _ -> 1+ , \x -> case x of 2 -> 0; _ -> 1+ , \x -> case x of 1 -> 1; _ -> -1+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> -1+ , \x -> case x of -1 -> 0; _ -> -1+ , \x -> case x of 0 -> 1; _ -> 2+ , \x -> case x of 1 -> 0; _ -> 2+ , \x -> case x of 0 -> 0; _ -> -2+ , \_ -> 3+ ]+ , [ \x -> case x of 0 -> 3; _ -> 0+ , \x -> case x of 1 -> -2; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> -1; _ -> 0+ , \x -> case x of 0 -> -1; 1 -> 1; _ -> 0+ , \x -> case x of -1 -> 2; _ -> 0+ , \x -> case x of 0 -> 1; -1 -> 1; _ -> 0+ , \x -> case x of 2 -> -1; _ -> 0+ , \x -> case x of -2 -> 1; _ -> 0+ , \x -> case x of 0 -> -2; _ -> 1+ , \x -> case x of 1 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> -1; _ -> 1+ , \x -> case x of 0 -> -1; 1 -> 0; _ -> 1+ , \x -> case x of -1 -> -1; _ -> 1+ , \x -> case x of 0 -> 0; 2 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; -1 -> 0; _ -> 1+ , \x -> case x of -2 -> 0; _ -> 1+ , \x -> case x of 0 -> 2; _ -> -1+ , \x -> case x of 0 -> 0; 1 -> 1; _ -> -1+ , \x -> case x of 0 -> 1; 1 -> 0; _ -> -1+ , \x -> case x of -1 -> 1; _ -> -1+ , \x -> case x of 0 -> 0; -1 -> 0; _ -> -1+ , \x -> case x of 2 -> 0; _ -> -1+ , \x -> case x of 0 -> -1; _ -> 2+ , \x -> case x of 1 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 2+ , \x -> case x of -1 -> 0; _ -> 2+ , \x -> case x of 0 -> 1; _ -> -2+ , \x -> case x of 1 -> 0; _ -> -2+ , \x -> case x of 0 -> 0; _ -> 3+ , \_ -> -3+ ]+ , [ \x -> case x of 0 -> -3; _ -> 0+ , \x -> case x of 1 -> 3; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> 2; _ -> 0+ , \x -> case x of 0 -> -1; 1 -> -1; _ -> 0+ , \x -> case x of 0 -> 2; 1 -> 1; _ -> 0+ , \x -> case x of -1 -> -2; _ -> 0+ , \x -> case x of 0 -> 1; -1 -> -1; _ -> 0+ , \x -> case x of 0 -> -1; -1 -> 1; _ -> 0+ , \x -> case x of 2 -> 2; _ -> 0+ , \x -> case x of 0 -> 1; 2 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; -1 -> 1; _ -> 0+ , \x -> case x of -2 -> -1; _ -> 0+ , \x -> case x of 3 -> 1; _ -> 0+ , \x -> case x of 0 -> 3; _ -> 1+ , \x -> case x of 1 -> -2; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 2; _ -> 1+ , \x -> case x of 0 -> 2; 1 -> 0; _ -> 1+ , \x -> case x of -1 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; -1 -> -1; _ -> 1+ , \x -> case x of 0 -> -1; -1 -> 0; _ -> 1+ , \x -> case x of 2 -> -1; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 0; -1 -> 0; _ -> 1+ , \x -> case x of 0 -> 0; -2 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; 2 -> 0; _ -> 1+ , \x -> case x of 3 -> 0; _ -> 1+ , \x -> case x of 0 -> -2; _ -> -1+ , \x -> case x of 1 -> 2; _ -> -1+ , \x -> case x of 0 -> 1; 1 -> 1; _ -> -1+ , \x -> case x of 0 -> 0; -1 -> 1; _ -> -1+ , \x -> case x of 0 -> 1; -1 -> 0; _ -> -1+ , \x -> case x of 2 -> 1; _ -> -1+ , \x -> case x of 0 -> 0; 2 -> 0; _ -> -1+ , \x -> case x of 1 -> 0; -1 -> 0; _ -> -1+ , \x -> case x of -2 -> 0; _ -> -1+ , \x -> case x of 1 -> -1; _ -> 2+ , \x -> case x of 0 -> 0; 1 -> 1; _ -> 2+ , \x -> case x of 0 -> 1; 1 -> 0; _ -> 2+ , \x -> case x of -1 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; -1 -> 0; _ -> 2+ , \x -> case x of 2 -> 0; _ -> 2+ , \x -> case x of 0 -> -1; _ -> -2+ , \x -> case x of 1 -> 1; _ -> -2+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> -2+ , \x -> case x of -1 -> 0; _ -> -2+ , \x -> case x of 0 -> 1; _ -> 3+ , \x -> case x of 1 -> 0; _ -> 3+ , \x -> case x of 0 -> 0; _ -> -3+ , \_ -> 4+ ]+ , [ \x -> case x of 0 -> 4; _ -> 0+ , \x -> case x of 1 -> -3; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> -2; _ -> 0+ , \x -> case x of 0 -> -1; 1 -> 2; _ -> 0+ , \x -> case x of 0 -> 2; 1 -> -1; _ -> 0+ , \x -> case x of 0 -> -2; 1 -> 1; _ -> 0+ , \x -> case x of -1 -> 3; _ -> 0+ , \x -> case x of 0 -> 1; -1 -> 2; _ -> 0+ , \x -> case x of 0 -> -1; -1 -> -1; _ -> 0+ , \x -> case x of 0 -> 2; -1 -> 1; _ -> 0+ , \x -> case x of 2 -> -2; _ -> 0+ , \x -> case x of 0 -> 1; 2 -> -1; _ -> 0+ , \x -> case x of 0 -> -1; 2 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; -1 -> -1; _ -> 0+ , \x -> case x of 1 -> -1; -1 -> 1; _ -> 0+ , \x -> case x of -2 -> 2; _ -> 0+ , \x -> case x of 0 -> 1; -2 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; 2 -> 1; _ -> 0+ , \x -> case x of 3 -> -1; _ -> 0+ , \x -> case x of -3 -> 1; _ -> 0+ , \x -> case x of 0 -> -3; _ -> 1+ , \x -> case x of 1 -> 3; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> -2; _ -> 1+ , \x -> case x of 0 -> -1; 1 -> -1; _ -> 1+ , \x -> case x of 0 -> -2; 1 -> 0; _ -> 1+ , \x -> case x of -1 -> -2; _ -> 1+ , \x -> case x of 0 -> 0; -1 -> 2; _ -> 1+ , \x -> case x of 0 -> 2; -1 -> 0; _ -> 1+ , \x -> case x of 2 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; 2 -> -1; _ -> 1+ , \x -> case x of 0 -> -1; 2 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; -1 -> -1; _ -> 1+ , \x -> case x of 1 -> -1; -1 -> 0; _ -> 1+ , \x -> case x of -2 -> -1; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 1+ , \x -> case x of 0 -> 0; 3 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; -2 -> 0; _ -> 1+ , \x -> case x of -1 -> 0; 2 -> 0; _ -> 1+ , \x -> case x of -3 -> 0; _ -> 1+ , \x -> case x of 0 -> 3; _ -> -1+ , \x -> case x of 1 -> -2; _ -> -1+ , \x -> case x of 0 -> 0; 1 -> 2; _ -> -1+ , \x -> case x of 0 -> 2; 1 -> 0; _ -> -1+ , \x -> case x of -1 -> 2; _ -> -1+ , \x -> case x of 0 -> 1; -1 -> 1; _ -> -1+ , \x -> case x of 0 -> 0; 2 -> 1; _ -> -1+ , \x -> case x of 0 -> 1; 2 -> 0; _ -> -1+ , \x -> case x of 1 -> 0; -1 -> 1; _ -> -1+ , \x -> case x of 1 -> 1; -1 -> 0; _ -> -1+ , \x -> case x of -2 -> 1; _ -> -1+ , \x -> case x of 0 -> 0; 1 -> 0; -1 -> 0; _ -> -1+ , \x -> case x of 0 -> 0; -2 -> 0; _ -> -1+ , \x -> case x of 1 -> 0; 2 -> 0; _ -> -1+ , \x -> case x of 3 -> 0; _ -> -1+ , \x -> case x of 0 -> -2; _ -> 2+ , \x -> case x of 0 -> 0; 1 -> -1; _ -> 2+ , \x -> case x of 0 -> 1; 1 -> 1; _ -> 2+ , \x -> case x of 0 -> -1; 1 -> 0; _ -> 2+ , \x -> case x of -1 -> -1; _ -> 2+ , \x -> case x of 0 -> 0; -1 -> 1; _ -> 2+ , \x -> case x of 0 -> 1; -1 -> 0; _ -> 2+ , \x -> case x of 2 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 2 -> 0; _ -> 2+ , \x -> case x of 1 -> 0; -1 -> 0; _ -> 2+ , \x -> case x of -2 -> 0; _ -> 2+ , \x -> case x of 0 -> 2; _ -> -2+ , \x -> case x of 1 -> -1; _ -> -2+ , \x -> case x of 0 -> 0; 1 -> 1; _ -> -2+ , \x -> case x of 0 -> 1; 1 -> 0; _ -> -2+ , \x -> case x of -1 -> 1; _ -> -2+ , \x -> case x of 0 -> 0; -1 -> 0; _ -> -2+ , \x -> case x of 2 -> 0; _ -> -2+ , \x -> case x of 0 -> -1; _ -> 3+ , \x -> case x of 1 -> 1; _ -> 3+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 3+ , \x -> case x of -1 -> 0; _ -> 3+ , \x -> case x of 0 -> 1; _ -> -3+ , \x -> case x of 1 -> 0; _ -> -3+ , \x -> case x of 0 -> 0; _ -> 4+ , \_ -> -4+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Ints-Ints.out view
@@ -0,0 +1,135 @@+map length (tiers :: [[ [Int]->[Int] ]]) = [1,1,4,10,29,75,...]++length (list :: [ [Int]->[Int] ]) = Infinity++allUnique (list :: [ [Int]->[Int] ]) = True++ratioRepetitions (list :: [ [Int]->[Int] ]) = 0 % 1++tiers :: [[Int]->[Int]] =+ [ [\_ -> []]+ , [\_ -> [0]]+ , [ \x -> case x of [] -> [0]; _ -> []+ , \x -> case x of [] -> []; _ -> [0]+ , \_ -> [0,0]+ , \_ -> [1]+ ]+ , [ \x -> case x of [] -> [0,0]; _ -> []+ , \x -> case x of [] -> [1]; _ -> []+ , \x -> case x of [0] -> [0]; _ -> []+ , \x -> case x of [0] -> []; _ -> [0]+ , \x -> case x of [] -> []; _ -> [0,0]+ , \x -> case x of [] -> []; _ -> [1]+ , \_ -> [0,0,0]+ , \_ -> [0,1]+ , \_ -> [1,0]+ , \_ -> [-1]+ ]+ , [ \x -> case x of [] -> [0,0,0]; _ -> []+ , \x -> case x of [] -> [0,1]; _ -> []+ , \x -> case x of [] -> [1,0]; _ -> []+ , \x -> case x of [] -> [-1]; _ -> []+ , \x -> case x of [0] -> [0,0]; _ -> []+ , \x -> case x of [0] -> [1]; _ -> []+ , \x -> case x of [0,0] -> [0]; _ -> []+ , \x -> case x of [1] -> [0]; _ -> []+ , \x -> case x of [] -> [0,0]; _ -> [0]+ , \x -> case x of [] -> [1]; _ -> [0]+ , \x -> case x of [] -> []; [0] -> []; _ -> [0]+ , \x -> case x of [0,0] -> []; _ -> [0]+ , \x -> case x of [1] -> []; _ -> [0]+ , \x -> case x of [] -> [0]; _ -> [0,0]+ , \x -> case x of [0] -> []; _ -> [0,0]+ , \x -> case x of [] -> [0]; _ -> [1]+ , \x -> case x of [0] -> []; _ -> [1]+ , \x -> case x of [] -> []; _ -> [0,0,0]+ , \x -> case x of [] -> []; _ -> [0,1]+ , \x -> case x of [] -> []; _ -> [1,0]+ , \x -> case x of [] -> []; _ -> [-1]+ , \_ -> [0,0,0,0]+ , \_ -> [0,0,1]+ , \_ -> [0,1,0]+ , \_ -> [0,-1]+ , \_ -> [1,0,0]+ , \_ -> [1,1]+ , \_ -> [-1,0]+ , \_ -> [2]+ ]+ , [ \x -> case x of [] -> [0,0,0,0]; _ -> []+ , \x -> case x of [] -> [0,0,1]; _ -> []+ , \x -> case x of [] -> [0,1,0]; _ -> []+ , \x -> case x of [] -> [0,-1]; _ -> []+ , \x -> case x of [] -> [1,0,0]; _ -> []+ , \x -> case x of [] -> [1,1]; _ -> []+ , \x -> case x of [] -> [-1,0]; _ -> []+ , \x -> case x of [] -> [2]; _ -> []+ , \x -> case x of [0] -> [0,0,0]; _ -> []+ , \x -> case x of [0] -> [0,1]; _ -> []+ , \x -> case x of [0] -> [1,0]; _ -> []+ , \x -> case x of [0] -> [-1]; _ -> []+ , \x -> case x of [] -> [0]; [0] -> [0]; _ -> []+ , \x -> case x of [0,0] -> [0,0]; _ -> []+ , \x -> case x of [0,0] -> [1]; _ -> []+ , \x -> case x of [1] -> [0,0]; _ -> []+ , \x -> case x of [1] -> [1]; _ -> []+ , \x -> case x of [0,0,0] -> [0]; _ -> []+ , \x -> case x of [0,1] -> [0]; _ -> []+ , \x -> case x of [1,0] -> [0]; _ -> []+ , \x -> case x of [-1] -> [0]; _ -> []+ , \x -> case x of [] -> [0,0,0]; _ -> [0]+ , \x -> case x of [] -> [0,1]; _ -> [0]+ , \x -> case x of [] -> [1,0]; _ -> [0]+ , \x -> case x of [] -> [-1]; _ -> [0]+ , \x -> case x of [0] -> [0,0]; _ -> [0]+ , \x -> case x of [0] -> [1]; _ -> [0]+ , \x -> case x of [] -> []; [0,0] -> []; _ -> [0]+ , \x -> case x of [] -> []; [1] -> []; _ -> [0]+ , \x -> case x of [0,0,0] -> []; _ -> [0]+ , \x -> case x of [0,1] -> []; _ -> [0]+ , \x -> case x of [1,0] -> []; _ -> [0]+ , \x -> case x of [-1] -> []; _ -> [0]+ , \x -> case x of [] -> [1]; _ -> [0,0]+ , \x -> case x of [0] -> [0]; _ -> [0,0]+ , \x -> case x of [] -> []; [0] -> []; _ -> [0,0]+ , \x -> case x of [0,0] -> []; _ -> [0,0]+ , \x -> case x of [1] -> []; _ -> [0,0]+ , \x -> case x of [] -> [0,0]; _ -> [1]+ , \x -> case x of [0] -> [0]; _ -> [1]+ , \x -> case x of [] -> []; [0] -> []; _ -> [1]+ , \x -> case x of [0,0] -> []; _ -> [1]+ , \x -> case x of [1] -> []; _ -> [1]+ , \x -> case x of [] -> [0]; _ -> [0,0,0]+ , \x -> case x of [0] -> []; _ -> [0,0,0]+ , \x -> case x of [] -> [0]; _ -> [0,1]+ , \x -> case x of [0] -> []; _ -> [0,1]+ , \x -> case x of [] -> [0]; _ -> [1,0]+ , \x -> case x of [0] -> []; _ -> [1,0]+ , \x -> case x of [] -> [0]; _ -> [-1]+ , \x -> case x of [0] -> []; _ -> [-1]+ , \x -> case x of [] -> []; _ -> [0,0,0,0]+ , \x -> case x of [] -> []; _ -> [0,0,1]+ , \x -> case x of [] -> []; _ -> [0,1,0]+ , \x -> case x of [] -> []; _ -> [0,-1]+ , \x -> case x of [] -> []; _ -> [1,0,0]+ , \x -> case x of [] -> []; _ -> [1,1]+ , \x -> case x of [] -> []; _ -> [-1,0]+ , \x -> case x of [] -> []; _ -> [2]+ , \_ -> [0,0,0,0,0]+ , \_ -> [0,0,0,1]+ , \_ -> [0,0,1,0]+ , \_ -> [0,0,-1]+ , \_ -> [0,1,0,0]+ , \_ -> [0,1,1]+ , \_ -> [0,-1,0]+ , \_ -> [0,2]+ , \_ -> [1,0,0,0]+ , \_ -> [1,0,1]+ , \_ -> [1,1,0]+ , \_ -> [1,-1]+ , \_ -> [-1,0,0]+ , \_ -> [-1,1]+ , \_ -> [2,0]+ , \_ -> [-2]+ ]+ , ...+ ]
+ test/diff/tiers-4cases-MBool-Bool.out view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Maybe Bool->Bool ]]) = [8]++length (list :: [ Maybe Bool->Bool ]) = 8++allUnique (list :: [ Maybe Bool->Bool ]) = True++ratioRepetitions (list :: [ Maybe Bool->Bool ]) = 0 % 1++tiers :: [Maybe Bool->Bool] =+ [ [ \_ -> False+ , \x -> case x of Just True -> True; _ -> False+ , \x -> case x of Just False -> True; _ -> False+ , \x -> case x of Nothing -> False; _ -> True+ , \x -> case x of Nothing -> True; _ -> False+ , \x -> case x of Just False -> False; _ -> True+ , \x -> case x of Just True -> False; _ -> True+ , \_ -> True+ ]+ ]
+ test/diff/tiers-4cases-MBool-MBool.out view
@@ -0,0 +1,40 @@+map length (tiers :: [[ Maybe Bool->Maybe Bool ]]) = [1,6,12,8]++length (list :: [ Maybe Bool->Maybe Bool ]) = Infinity++allUnique (list :: [ Maybe Bool->Maybe Bool ]) = True++ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ]) = 0 % 1++tiers :: [Maybe Bool->Maybe Bool] =+ [ [\_ -> Nothing]+ , [ \x -> case x of Just True -> Just False; _ -> Nothing+ , \x -> case x of Just True -> Just True; _ -> Nothing+ , \x -> case x of Just False -> Just False; _ -> Nothing+ , \x -> case x of Just False -> Just True; _ -> Nothing+ , \x -> case x of Nothing -> Just False; _ -> Nothing+ , \x -> case x of Nothing -> Just True; _ -> Nothing+ ]+ , [ \x -> case x of Nothing -> Nothing; _ -> Just False+ , \x -> case x of Nothing -> Nothing; Just False -> Just False; Just True -> Just True+ , \x -> case x of Nothing -> Nothing; Just False -> Just True; Just True -> Just False+ , \x -> case x of Nothing -> Nothing; _ -> Just True+ , \x -> case x of Just False -> Nothing; _ -> Just False+ , \x -> case x of Nothing -> Just False; Just False -> Nothing; Just True -> Just True+ , \x -> case x of Just True -> Nothing; _ -> Just False+ , \x -> case x of Nothing -> Just False; Just False -> Just True; Just True -> Nothing+ , \x -> case x of Nothing -> Just True; Just False -> Nothing; Just True -> Just False+ , \x -> case x of Just False -> Nothing; _ -> Just True+ , \x -> case x of Nothing -> Just True; Just False -> Just False; Just True -> Nothing+ , \x -> case x of Just True -> Nothing; _ -> Just True+ ]+ , [ \_ -> Just False+ , \x -> case x of Just True -> Just True; _ -> Just False+ , \x -> case x of Just False -> Just True; _ -> Just False+ , \x -> case x of Nothing -> Just False; _ -> Just True+ , \x -> case x of Nothing -> Just True; _ -> Just False+ , \x -> case x of Just False -> Just False; _ -> Just True+ , \x -> case x of Just True -> Just False; _ -> Just True+ , \_ -> Just True+ ]+ ]
+ test/diff/tiers-4cases-Nat,Nat-Nat.out view
@@ -0,0 +1,79 @@+map length (tiers :: [[ (Nat,Nat)->Nat ]]) = [1,1,3,7,17,35,...]++length (list :: [ (Nat,Nat)->Nat ]) = Infinity++allUnique (list :: [ (Nat,Nat)->Nat ]) = True++ratioRepetitions (list :: [ (Nat,Nat)->Nat ]) = 0 % 1++tiers :: [(Nat,Nat)->Nat] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [ \x -> case x of (0,0) -> 1; _ -> 0+ , \x -> case x of (0,0) -> 0; _ -> 1+ , \_ -> 2+ ]+ , [ \x -> case x of (0,0) -> 2; _ -> 0+ , \x -> case x of (0,1) -> 1; _ -> 0+ , \x -> case x of (1,0) -> 1; _ -> 0+ , \x -> case x of (0,1) -> 0; _ -> 1+ , \x -> case x of (1,0) -> 0; _ -> 1+ , \x -> case x of (0,0) -> 0; _ -> 2+ , \_ -> 3+ ]+ , [ \x -> case x of (0,0) -> 3; _ -> 0+ , \x -> case x of (0,1) -> 2; _ -> 0+ , \x -> case x of (1,0) -> 2; _ -> 0+ , \x -> case x of (0,2) -> 1; _ -> 0+ , \x -> case x of (1,1) -> 1; _ -> 0+ , \x -> case x of (2,0) -> 1; _ -> 0+ , \x -> case x of (0,0) -> 2; _ -> 1+ , \x -> case x of (0,0) -> 0; (0,1) -> 0; _ -> 1+ , \x -> case x of (0,0) -> 0; (1,0) -> 0; _ -> 1+ , \x -> case x of (0,2) -> 0; _ -> 1+ , \x -> case x of (1,1) -> 0; _ -> 1+ , \x -> case x of (2,0) -> 0; _ -> 1+ , \x -> case x of (0,0) -> 1; _ -> 2+ , \x -> case x of (0,1) -> 0; _ -> 2+ , \x -> case x of (1,0) -> 0; _ -> 2+ , \x -> case x of (0,0) -> 0; _ -> 3+ , \_ -> 4+ ]+ , [ \x -> case x of (0,0) -> 4; _ -> 0+ , \x -> case x of (0,1) -> 3; _ -> 0+ , \x -> case x of (1,0) -> 3; _ -> 0+ , \x -> case x of (0,0) -> 1; (0,1) -> 1; _ -> 0+ , \x -> case x of (0,0) -> 1; (1,0) -> 1; _ -> 0+ , \x -> case x of (0,2) -> 2; _ -> 0+ , \x -> case x of (1,1) -> 2; _ -> 0+ , \x -> case x of (2,0) -> 2; _ -> 0+ , \x -> case x of (0,3) -> 1; _ -> 0+ , \x -> case x of (1,2) -> 1; _ -> 0+ , \x -> case x of (2,1) -> 1; _ -> 0+ , \x -> case x of (3,0) -> 1; _ -> 0+ , \x -> case x of (0,0) -> 3; _ -> 1+ , \x -> case x of (0,1) -> 2; _ -> 1+ , \x -> case x of (1,0) -> 2; _ -> 1+ , \x -> case x of (0,0) -> 0; (0,2) -> 0; _ -> 1+ , \x -> case x of (0,0) -> 0; (1,1) -> 0; _ -> 1+ , \x -> case x of (0,0) -> 0; (2,0) -> 0; _ -> 1+ , \x -> case x of (0,1) -> 0; (1,0) -> 0; _ -> 1+ , \x -> case x of (0,3) -> 0; _ -> 1+ , \x -> case x of (1,2) -> 0; _ -> 1+ , \x -> case x of (2,1) -> 0; _ -> 1+ , \x -> case x of (3,0) -> 0; _ -> 1+ , \x -> case x of (0,1) -> 1; _ -> 2+ , \x -> case x of (1,0) -> 1; _ -> 2+ , \x -> case x of (0,0) -> 0; (0,1) -> 0; _ -> 2+ , \x -> case x of (0,0) -> 0; (1,0) -> 0; _ -> 2+ , \x -> case x of (0,2) -> 0; _ -> 2+ , \x -> case x of (1,1) -> 0; _ -> 2+ , \x -> case x of (2,0) -> 0; _ -> 2+ , \x -> case x of (0,0) -> 1; _ -> 3+ , \x -> case x of (0,1) -> 0; _ -> 3+ , \x -> case x of (1,0) -> 0; _ -> 3+ , \x -> case x of (0,0) -> 0; _ -> 4+ , \_ -> 5+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Nat-Nat-Nat.out view
@@ -0,0 +1,151 @@+map length (tiers :: [[ Nat->Nat->Nat ]]) = [1,1,5,13,35,81,...]++length (list :: [ Nat->Nat->Nat ]) = Infinity++allUnique (list :: [ Nat->Nat->Nat ]) = True++ratioRepetitions (list :: [ Nat->Nat->Nat ]) = 0 % 1++tiers :: [Nat->Nat->Nat] =+ [ [\_ _ -> 0]+ , [\_ _ -> 1]+ , [ \x _ -> case x of 0 -> 1; _ -> 0+ , \x _ -> case x of 0 -> 0; _ -> 1+ , \_ y -> case y of 0 -> 1; _ -> 0+ , \_ y -> case y of 0 -> 0; _ -> 1+ , \_ _ -> 2+ ]+ , [ \x y -> case (x,y) of (0,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; _ -> 0+ , \x _ -> case x of 0 -> 2; _ -> 0+ , \x _ -> case x of 1 -> 1; _ -> 0+ , \x _ -> case x of 1 -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 1+ , \x _ -> case x of 0 -> 0; _ -> 2+ , \_ y -> case y of 0 -> 2; _ -> 0+ , \_ y -> case y of 1 -> 1; _ -> 0+ , \_ y -> case y of 1 -> 0; _ -> 1+ , \_ y -> case y of 0 -> 0; _ -> 2+ , \_ _ -> 3+ ]+ , [ \x y -> case (x,y) of (0,0) -> 2; _ -> 0+ , \x y -> case (x,y) of (0,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,2) -> 1; ...+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; _ -> 0+ , \x _ -> case x of 0 -> 3; _ -> 0+ , \x y -> case (x,y) of (1,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 1; _ -> 0+ , \x _ -> case x of 1 -> 2; _ -> 0+ , \x _ -> case x of 2 -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; _ -> 1+ , \x _ -> case x of 0 -> 2; _ -> 1+ , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 1+ , \x _ -> case x of 2 -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 0; (0,2) -> 0; ...+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 1+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 1; (1,_) -> 0; _ -> 1+ , \x _ -> case x of 0 -> 1; _ -> 2+ , \x _ -> case x of 1 -> 0; _ -> 2+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; (_,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 2+ , \x _ -> case x of 0 -> 0; _ -> 3+ , \_ y -> case y of 0 -> 3; _ -> 0+ , \_ y -> case y of 1 -> 2; _ -> 0+ , \_ y -> case y of 2 -> 1; _ -> 0+ , \_ y -> case y of 0 -> 2; _ -> 1+ , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 1+ , \_ y -> case y of 2 -> 0; _ -> 1+ , \_ y -> case y of 0 -> 1; _ -> 2+ , \_ y -> case y of 1 -> 0; _ -> 2+ , \_ y -> case y of 0 -> 0; _ -> 3+ , \_ _ -> 4+ ]+ , [ \x y -> case (x,y) of (0,0) -> 3; _ -> 0+ , \x y -> case (x,y) of (0,1) -> 2; _ -> 0+ , \x y -> case (x,y) of (0,2) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 2; (0,_) -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 0; (_,1) -> 0; (0,_) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 1; (1,0) -> 0; (0,2) -> 0; ...+ , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 2; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 2; (0,1) -> 0; (1,0) -> 0; (0,2) -> 2; ...+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 3; _ -> 0+ , \x _ -> case x of 0 -> 4; _ -> 0+ , \x y -> case (x,y) of (1,0) -> 2; _ -> 0+ , \x y -> case (x,y) of (1,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 0; (1,0) -> 1; (0,2) -> 0; ...+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 2; _ -> 0+ , \x _ -> case x of 1 -> 3; _ -> 0+ , \x _ -> case x of 0 -> 1; 1 -> 1; _ -> 0+ , \x y -> case (x,y) of (2,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (2,1) -> 1; (2,2) -> 1; _ -> 0+ , \x _ -> case x of 2 -> 2; _ -> 0+ , \x _ -> case x of 3 -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 2; (0,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,2) -> 0; ...+ , \x y -> case (x,y) of (0,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 2; _ -> 1+ , \x _ -> case x of 0 -> 3; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (1,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (1,0) -> 0; _ -> 1+ , \x _ -> case x of 1 -> 2; _ -> 1+ , \x _ -> case x of 0 -> 0; 1 -> 1; 2 -> 0; _ -> 1+ , \x _ -> case x of 3 -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 2; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (_,0) -> 1; (0,_) -> 0; (1,_) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (1,_) -> 0; (_,0) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 1; (0,1) -> 0; (1,0) -> 1; (0,2) -> 0; ...+ , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; (_,0) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 2; (_,0) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 0; (0,1) -> 1; (1,0) -> 1; (0,2) -> 1; ...+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (1,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (_,0) -> 0; (2,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,0) -> 1; (0,_) -> 0; _ -> 2+ , \x y -> case (x,y) of (0,0) -> 0; (0,_) -> 1; _ -> 2+ , \x _ -> case x of 1 -> 1; _ -> 2+ , \x _ -> case x of 0 -> 0; 1 -> 0; _ -> 2+ , \x _ -> case x of 2 -> 0; _ -> 2+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 2; _ -> 0+ , \x y -> case (x,y) of (0,0) -> 2; (0,1) -> 0; (1,0) -> 0; (0,2) -> 0; ...+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; (_,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,1) -> 1; (2,1) -> 1; (3,1) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 1; (_,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (_,1) -> 0; (1,_) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 1; (_,0) -> 0; _ -> 2+ , \x y -> case (x,y) of (_,0) -> 0; (0,_) -> 2; (1,_) -> 0; _ -> 2+ , \x _ -> case x of 0 -> 1; _ -> 3+ , \x _ -> case x of 1 -> 0; _ -> 3+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 3; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 2; _ -> 0+ , \x y -> case (x,y) of (1,2) -> 1; (2,2) -> 1; _ -> 0+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; (_,1) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,2) -> 0; _ -> 1+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 1; _ -> 2+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 2; (_,1) -> 0; _ -> 2+ , \x y -> case (x,y) of (0,_) -> 0; (_,0) -> 0; _ -> 3+ , \x _ -> case x of 0 -> 0; _ -> 4+ , \_ y -> case y of 0 -> 4; _ -> 0+ , \_ y -> case y of 1 -> 3; _ -> 0+ , \_ y -> case y of 0 -> 1; 1 -> 1; _ -> 0+ , \_ y -> case y of 2 -> 2; _ -> 0+ , \_ y -> case y of 3 -> 1; _ -> 0+ , \_ y -> case y of 0 -> 3; _ -> 1+ , \_ y -> case y of 1 -> 2; _ -> 1+ , \_ y -> case y of 0 -> 0; 2 -> 0; _ -> 1+ , \_ y -> case y of 3 -> 0; _ -> 1+ , \_ y -> case y of 1 -> 1; _ -> 2+ , \_ y -> case y of 0 -> 0; 1 -> 0; _ -> 2+ , \_ y -> case y of 2 -> 0; _ -> 2+ , \_ y -> case y of 0 -> 1; _ -> 3+ , \_ y -> case y of 1 -> 0; _ -> 3+ , \_ y -> case y of 0 -> 0; _ -> 4+ , \_ _ -> 5+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Nat-Nat.out view
@@ -0,0 +1,212 @@+map length (tiers :: [[ Nat->Nat ]]) = [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Nat->Nat ]) = Infinity++allUnique (list :: [ Nat->Nat ]) = True++ratioRepetitions (list :: [ Nat->Nat ]) = 0 % 1++tiers :: [Nat->Nat] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [ \x -> case x of 0 -> 1; _ -> 0+ , \x -> case x of 0 -> 0; _ -> 1+ , \_ -> 2+ ]+ , [ \x -> case x of 0 -> 2; _ -> 0+ , \x -> case x of 1 -> 1; _ -> 0+ , \x -> case x of 1 -> 0; _ -> 1+ , \x -> case x of 0 -> 0; _ -> 2+ , \_ -> 3+ ]+ , [ \x -> case x of 0 -> 3; _ -> 0+ , \x -> case x of 1 -> 2; _ -> 0+ , \x -> case x of 2 -> 1; _ -> 0+ , \x -> case x of 0 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 1+ , \x -> case x of 2 -> 0; _ -> 1+ , \x -> case x of 0 -> 1; _ -> 2+ , \x -> case x of 1 -> 0; _ -> 2+ , \x -> case x of 0 -> 0; _ -> 3+ , \_ -> 4+ ]+ , [ \x -> case x of 0 -> 4; _ -> 0+ , \x -> case x of 1 -> 3; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> 1; _ -> 0+ , \x -> case x of 2 -> 2; _ -> 0+ , \x -> case x of 3 -> 1; _ -> 0+ , \x -> case x of 0 -> 3; _ -> 1+ , \x -> case x of 1 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; 2 -> 0; _ -> 1+ , \x -> case x of 3 -> 0; _ -> 1+ , \x -> case x of 1 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 2+ , \x -> case x of 2 -> 0; _ -> 2+ , \x -> case x of 0 -> 1; _ -> 3+ , \x -> case x of 1 -> 0; _ -> 3+ , \x -> case x of 0 -> 0; _ -> 4+ , \_ -> 5+ ]+ , [ \x -> case x of 0 -> 5; _ -> 0+ , \x -> case x of 1 -> 4; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> 2; _ -> 0+ , \x -> case x of 0 -> 2; 1 -> 1; _ -> 0+ , \x -> case x of 2 -> 3; _ -> 0+ , \x -> case x of 0 -> 1; 2 -> 1; _ -> 0+ , \x -> case x of 3 -> 2; _ -> 0+ , \x -> case x of 4 -> 1; _ -> 0+ , \x -> case x of 0 -> 4; _ -> 1+ , \x -> case x of 1 -> 3; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 2; _ -> 1+ , \x -> case x of 0 -> 2; 1 -> 0; _ -> 1+ , \x -> case x of 2 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; 3 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; 2 -> 0; _ -> 1+ , \x -> case x of 4 -> 0; _ -> 1+ , \x -> case x of 0 -> 3; _ -> 2+ , \x -> case x of 0 -> 0; 1 -> 1; _ -> 2+ , \x -> case x of 0 -> 1; 1 -> 0; _ -> 2+ , \x -> case x of 2 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 2 -> 0; _ -> 2+ , \x -> case x of 3 -> 0; _ -> 2+ , \x -> case x of 0 -> 2; _ -> 3+ , \x -> case x of 1 -> 1; _ -> 3+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 3+ , \x -> case x of 2 -> 0; _ -> 3+ , \x -> case x of 0 -> 1; _ -> 4+ , \x -> case x of 1 -> 0; _ -> 4+ , \x -> case x of 0 -> 0; _ -> 5+ , \_ -> 6+ ]+ , [ \x -> case x of 0 -> 6; _ -> 0+ , \x -> case x of 1 -> 5; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> 3; _ -> 0+ , \x -> case x of 0 -> 2; 1 -> 2; _ -> 0+ , \x -> case x of 0 -> 3; 1 -> 1; _ -> 0+ , \x -> case x of 2 -> 4; _ -> 0+ , \x -> case x of 0 -> 1; 2 -> 2; _ -> 0+ , \x -> case x of 0 -> 2; 2 -> 1; _ -> 0+ , \x -> case x of 3 -> 3; _ -> 0+ , \x -> case x of 0 -> 1; 3 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; 2 -> 1; _ -> 0+ , \x -> case x of 4 -> 2; _ -> 0+ , \x -> case x of 5 -> 1; _ -> 0+ , \x -> case x of 0 -> 5; _ -> 1+ , \x -> case x of 1 -> 4; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 3; _ -> 1+ , \x -> case x of 0 -> 3; 1 -> 0; _ -> 1+ , \x -> case x of 2 -> 3; _ -> 1+ , \x -> case x of 0 -> 0; 2 -> 2; _ -> 1+ , \x -> case x of 0 -> 2; 2 -> 0; _ -> 1+ , \x -> case x of 3 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 1+ , \x -> case x of 0 -> 0; 4 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; 3 -> 0; _ -> 1+ , \x -> case x of 5 -> 0; _ -> 1+ , \x -> case x of 0 -> 4; _ -> 2+ , \x -> case x of 1 -> 3; _ -> 2+ , \x -> case x of 0 -> 1; 1 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 2 -> 1; _ -> 2+ , \x -> case x of 0 -> 1; 2 -> 0; _ -> 2+ , \x -> case x of 3 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 3 -> 0; _ -> 2+ , \x -> case x of 1 -> 0; 2 -> 0; _ -> 2+ , \x -> case x of 4 -> 0; _ -> 2+ , \x -> case x of 1 -> 2; _ -> 3+ , \x -> case x of 0 -> 0; 1 -> 1; _ -> 3+ , \x -> case x of 0 -> 1; 1 -> 0; _ -> 3+ , \x -> case x of 2 -> 1; _ -> 3+ , \x -> case x of 0 -> 0; 2 -> 0; _ -> 3+ , \x -> case x of 3 -> 0; _ -> 3+ , \x -> case x of 0 -> 2; _ -> 4+ , \x -> case x of 1 -> 1; _ -> 4+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 4+ , \x -> case x of 2 -> 0; _ -> 4+ , \x -> case x of 0 -> 1; _ -> 5+ , \x -> case x of 1 -> 0; _ -> 5+ , \x -> case x of 0 -> 0; _ -> 6+ , \_ -> 7+ ]+ , [ \x -> case x of 0 -> 7; _ -> 0+ , \x -> case x of 1 -> 6; _ -> 0+ , \x -> case x of 0 -> 1; 1 -> 4; _ -> 0+ , \x -> case x of 0 -> 2; 1 -> 3; _ -> 0+ , \x -> case x of 0 -> 3; 1 -> 2; _ -> 0+ , \x -> case x of 0 -> 4; 1 -> 1; _ -> 0+ , \x -> case x of 2 -> 5; _ -> 0+ , \x -> case x of 0 -> 1; 2 -> 3; _ -> 0+ , \x -> case x of 0 -> 2; 2 -> 2; _ -> 0+ , \x -> case x of 0 -> 3; 2 -> 1; _ -> 0+ , \x -> case x of 3 -> 4; _ -> 0+ , \x -> case x of 0 -> 1; 3 -> 2; _ -> 0+ , \x -> case x of 0 -> 2; 3 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; 2 -> 2; _ -> 0+ , \x -> case x of 1 -> 2; 2 -> 1; _ -> 0+ , \x -> case x of 4 -> 3; _ -> 0+ , \x -> case x of 0 -> 1; 4 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; 3 -> 1; _ -> 0+ , \x -> case x of 5 -> 2; _ -> 0+ , \x -> case x of 6 -> 1; _ -> 0+ , \x -> case x of 0 -> 6; _ -> 1+ , \x -> case x of 1 -> 5; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 4; _ -> 1+ , \x -> case x of 0 -> 2; 1 -> 2; _ -> 1+ , \x -> case x of 0 -> 4; 1 -> 0; _ -> 1+ , \x -> case x of 2 -> 4; _ -> 1+ , \x -> case x of 0 -> 0; 2 -> 3; _ -> 1+ , \x -> case x of 0 -> 3; 2 -> 0; _ -> 1+ , \x -> case x of 3 -> 3; _ -> 1+ , \x -> case x of 0 -> 0; 3 -> 2; _ -> 1+ , \x -> case x of 0 -> 2; 3 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; 2 -> 2; _ -> 1+ , \x -> case x of 1 -> 2; 2 -> 0; _ -> 1+ , \x -> case x of 4 -> 2; _ -> 1+ , \x -> case x of 0 -> 0; 1 -> 0; 3 -> 0; _ -> 1+ , \x -> case x of 0 -> 0; 5 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; 4 -> 0; _ -> 1+ , \x -> case x of 2 -> 0; 3 -> 0; _ -> 1+ , \x -> case x of 6 -> 0; _ -> 1+ , \x -> case x of 0 -> 5; _ -> 2+ , \x -> case x of 1 -> 4; _ -> 2+ , \x -> case x of 0 -> 0; 1 -> 3; _ -> 2+ , \x -> case x of 0 -> 3; 1 -> 0; _ -> 2+ , \x -> case x of 2 -> 3; _ -> 2+ , \x -> case x of 0 -> 1; 2 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 3 -> 1; _ -> 2+ , \x -> case x of 0 -> 1; 3 -> 0; _ -> 2+ , \x -> case x of 1 -> 0; 2 -> 1; _ -> 2+ , \x -> case x of 1 -> 1; 2 -> 0; _ -> 2+ , \x -> case x of 4 -> 1; _ -> 2+ , \x -> case x of 0 -> 0; 1 -> 0; 2 -> 0; _ -> 2+ , \x -> case x of 0 -> 0; 4 -> 0; _ -> 2+ , \x -> case x of 1 -> 0; 3 -> 0; _ -> 2+ , \x -> case x of 5 -> 0; _ -> 2+ , \x -> case x of 0 -> 4; _ -> 3+ , \x -> case x of 0 -> 0; 1 -> 2; _ -> 3+ , \x -> case x of 0 -> 1; 1 -> 1; _ -> 3+ , \x -> case x of 0 -> 2; 1 -> 0; _ -> 3+ , \x -> case x of 2 -> 2; _ -> 3+ , \x -> case x of 0 -> 0; 2 -> 1; _ -> 3+ , \x -> case x of 0 -> 1; 2 -> 0; _ -> 3+ , \x -> case x of 3 -> 1; _ -> 3+ , \x -> case x of 0 -> 0; 3 -> 0; _ -> 3+ , \x -> case x of 1 -> 0; 2 -> 0; _ -> 3+ , \x -> case x of 4 -> 0; _ -> 3+ , \x -> case x of 0 -> 3; _ -> 4+ , \x -> case x of 1 -> 2; _ -> 4+ , \x -> case x of 0 -> 0; 1 -> 1; _ -> 4+ , \x -> case x of 0 -> 1; 1 -> 0; _ -> 4+ , \x -> case x of 2 -> 1; _ -> 4+ , \x -> case x of 0 -> 0; 2 -> 0; _ -> 4+ , \x -> case x of 3 -> 0; _ -> 4+ , \x -> case x of 0 -> 2; _ -> 5+ , \x -> case x of 1 -> 1; _ -> 5+ , \x -> case x of 0 -> 0; 1 -> 0; _ -> 5+ , \x -> case x of 2 -> 0; _ -> 5+ , \x -> case x of 0 -> 1; _ -> 6+ , \x -> case x of 1 -> 0; _ -> 6+ , \x -> case x of 0 -> 0; _ -> 7+ , \_ -> 8+ ]+ , ...+ ]
+ test/diff/tiers-4cases-Nat-U.out view
@@ -0,0 +1,17 @@+map length (tiers :: [[ Nat->() ]]) = [1,0,0,0,0,0,...]++length (list :: [ Nat->() ]) = 1++allUnique (list :: [ Nat->() ]) = True++ratioRepetitions (list :: [ Nat->() ]) = 0 % 1++tiers :: [Nat->()] =+ [ [\_ -> ()]+ , []+ , []+ , []+ , []+ , []+ , ...+ ]
+ test/diff/tiers-4cases-Nat2-Nat2.out view
@@ -0,0 +1,15 @@+map length (tiers :: [[ Nat2->Nat2 ]]) = [1,2,1]++length (list :: [ Nat2->Nat2 ]) = 4++allUnique (list :: [ Nat2->Nat2 ]) = True++ratioRepetitions (list :: [ Nat2->Nat2 ]) = 0 % 1++tiers :: [Nat2->Nat2] =+ [ [\_ -> 0]+ , [ \x -> case x of 0 -> 0; 1 -> 1+ , \x -> case x of 0 -> 1; 1 -> 0+ ]+ , [\_ -> 1]+ ]
+ test/diff/tiers-4cases-Nat2-Nat3.out view
@@ -0,0 +1,22 @@+map length (tiers :: [[ Nat2->Nat3 ]]) = [1,2,3,2,1]++length (list :: [ Nat2->Nat3 ]) = 9++allUnique (list :: [ Nat2->Nat3 ]) = True++ratioRepetitions (list :: [ Nat2->Nat3 ]) = 0 % 1++tiers :: [Nat2->Nat3] =+ [ [\_ -> 0]+ , [ \x -> case x of 0 -> 0; 1 -> 1+ , \x -> case x of 0 -> 1; 1 -> 0+ ]+ , [ \x -> case x of 0 -> 0; 1 -> 2+ , \_ -> 1+ , \x -> case x of 0 -> 2; 1 -> 0+ ]+ , [ \x -> case x of 0 -> 1; 1 -> 2+ , \x -> case x of 0 -> 2; 1 -> 1+ ]+ , [\_ -> 2]+ ]
+ test/diff/tiers-4cases-Nat3-Nat2.out view
@@ -0,0 +1,20 @@+map length (tiers :: [[ Nat3->Nat2 ]]) = [1,3,3,1]++length (list :: [ Nat3->Nat2 ]) = 8++allUnique (list :: [ Nat3->Nat2 ]) = True++ratioRepetitions (list :: [ Nat3->Nat2 ]) = 0 % 1++tiers :: [Nat3->Nat2] =+ [ [\_ -> 0]+ , [ \x -> case x of 2 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; _ -> 0+ , \x -> case x of 0 -> 1; _ -> 0+ ]+ , [ \x -> case x of 0 -> 0; _ -> 1+ , \x -> case x of 1 -> 0; _ -> 1+ , \x -> case x of 2 -> 0; _ -> 1+ ]+ , [\_ -> 1]+ ]
+ test/diff/tiers-4cases-Nat3-Nat3.out view
@@ -0,0 +1,42 @@+map length (tiers :: [[ Nat3->Nat3 ]]) = [1,3,6,7,6,3,1]++length (list :: [ Nat3->Nat3 ]) = Infinity++allUnique (list :: [ Nat3->Nat3 ]) = True++ratioRepetitions (list :: [ Nat3->Nat3 ]) = 0 % 1++tiers :: [Nat3->Nat3] =+ [ [\_ -> 0]+ , [ \x -> case x of 2 -> 1; _ -> 0+ , \x -> case x of 1 -> 1; _ -> 0+ , \x -> case x of 0 -> 1; _ -> 0+ ]+ , [ \x -> case x of 2 -> 2; _ -> 0+ , \x -> case x of 0 -> 0; _ -> 1+ , \x -> case x of 1 -> 2; _ -> 0+ , \x -> case x of 1 -> 0; _ -> 1+ , \x -> case x of 2 -> 0; _ -> 1+ , \x -> case x of 0 -> 2; _ -> 0+ ]+ , [ \x -> case x of 0 -> 0; 1 -> 1; 2 -> 2+ , \x -> case x of 0 -> 0; 1 -> 2; 2 -> 1+ , \x -> case x of 0 -> 1; 1 -> 0; 2 -> 2+ , \_ -> 1+ , \x -> case x of 0 -> 1; 1 -> 2; 2 -> 0+ , \x -> case x of 0 -> 2; 1 -> 0; 2 -> 1+ , \x -> case x of 0 -> 2; 1 -> 1; 2 -> 0+ ]+ , [ \x -> case x of 0 -> 0; _ -> 2+ , \x -> case x of 2 -> 2; _ -> 1+ , \x -> case x of 1 -> 2; _ -> 1+ , \x -> case x of 1 -> 0; _ -> 2+ , \x -> case x of 0 -> 2; _ -> 1+ , \x -> case x of 2 -> 0; _ -> 2+ ]+ , [ \x -> case x of 0 -> 1; _ -> 2+ , \x -> case x of 1 -> 1; _ -> 2+ , \x -> case x of 2 -> 1; _ -> 2+ ]+ , [\_ -> 2]+ ]
+ test/diff/tiers-4cases-Nats-Nats.out view
@@ -0,0 +1,135 @@+map length (tiers :: [[ [Nat]->[Nat] ]]) = [1,1,4,10,29,75,...]++length (list :: [ [Nat]->[Nat] ]) = Infinity++allUnique (list :: [ [Nat]->[Nat] ]) = True++ratioRepetitions (list :: [ [Nat]->[Nat] ]) = 0 % 1++tiers :: [[Nat]->[Nat]] =+ [ [\_ -> []]+ , [\_ -> [0]]+ , [ \x -> case x of [] -> [0]; _ -> []+ , \x -> case x of [] -> []; _ -> [0]+ , \_ -> [0,0]+ , \_ -> [1]+ ]+ , [ \x -> case x of [] -> [0,0]; _ -> []+ , \x -> case x of [] -> [1]; _ -> []+ , \x -> case x of [0] -> [0]; _ -> []+ , \x -> case x of [0] -> []; _ -> [0]+ , \x -> case x of [] -> []; _ -> [0,0]+ , \x -> case x of [] -> []; _ -> [1]+ , \_ -> [0,0,0]+ , \_ -> [0,1]+ , \_ -> [1,0]+ , \_ -> [2]+ ]+ , [ \x -> case x of [] -> [0,0,0]; _ -> []+ , \x -> case x of [] -> [0,1]; _ -> []+ , \x -> case x of [] -> [1,0]; _ -> []+ , \x -> case x of [] -> [2]; _ -> []+ , \x -> case x of [0] -> [0,0]; _ -> []+ , \x -> case x of [0] -> [1]; _ -> []+ , \x -> case x of [0,0] -> [0]; _ -> []+ , \x -> case x of [1] -> [0]; _ -> []+ , \x -> case x of [] -> [0,0]; _ -> [0]+ , \x -> case x of [] -> [1]; _ -> [0]+ , \x -> case x of [] -> []; [0] -> []; _ -> [0]+ , \x -> case x of [0,0] -> []; _ -> [0]+ , \x -> case x of [1] -> []; _ -> [0]+ , \x -> case x of [] -> [0]; _ -> [0,0]+ , \x -> case x of [0] -> []; _ -> [0,0]+ , \x -> case x of [] -> [0]; _ -> [1]+ , \x -> case x of [0] -> []; _ -> [1]+ , \x -> case x of [] -> []; _ -> [0,0,0]+ , \x -> case x of [] -> []; _ -> [0,1]+ , \x -> case x of [] -> []; _ -> [1,0]+ , \x -> case x of [] -> []; _ -> [2]+ , \_ -> [0,0,0,0]+ , \_ -> [0,0,1]+ , \_ -> [0,1,0]+ , \_ -> [0,2]+ , \_ -> [1,0,0]+ , \_ -> [1,1]+ , \_ -> [2,0]+ , \_ -> [3]+ ]+ , [ \x -> case x of [] -> [0,0,0,0]; _ -> []+ , \x -> case x of [] -> [0,0,1]; _ -> []+ , \x -> case x of [] -> [0,1,0]; _ -> []+ , \x -> case x of [] -> [0,2]; _ -> []+ , \x -> case x of [] -> [1,0,0]; _ -> []+ , \x -> case x of [] -> [1,1]; _ -> []+ , \x -> case x of [] -> [2,0]; _ -> []+ , \x -> case x of [] -> [3]; _ -> []+ , \x -> case x of [0] -> [0,0,0]; _ -> []+ , \x -> case x of [0] -> [0,1]; _ -> []+ , \x -> case x of [0] -> [1,0]; _ -> []+ , \x -> case x of [0] -> [2]; _ -> []+ , \x -> case x of [] -> [0]; [0] -> [0]; _ -> []+ , \x -> case x of [0,0] -> [0,0]; _ -> []+ , \x -> case x of [0,0] -> [1]; _ -> []+ , \x -> case x of [1] -> [0,0]; _ -> []+ , \x -> case x of [1] -> [1]; _ -> []+ , \x -> case x of [0,0,0] -> [0]; _ -> []+ , \x -> case x of [0,1] -> [0]; _ -> []+ , \x -> case x of [1,0] -> [0]; _ -> []+ , \x -> case x of [2] -> [0]; _ -> []+ , \x -> case x of [] -> [0,0,0]; _ -> [0]+ , \x -> case x of [] -> [0,1]; _ -> [0]+ , \x -> case x of [] -> [1,0]; _ -> [0]+ , \x -> case x of [] -> [2]; _ -> [0]+ , \x -> case x of [0] -> [0,0]; _ -> [0]+ , \x -> case x of [0] -> [1]; _ -> [0]+ , \x -> case x of [] -> []; [0,0] -> []; _ -> [0]+ , \x -> case x of [] -> []; [1] -> []; _ -> [0]+ , \x -> case x of [0,0,0] -> []; _ -> [0]+ , \x -> case x of [0,1] -> []; _ -> [0]+ , \x -> case x of [1,0] -> []; _ -> [0]+ , \x -> case x of [2] -> []; _ -> [0]+ , \x -> case x of [] -> [1]; _ -> [0,0]+ , \x -> case x of [0] -> [0]; _ -> [0,0]+ , \x -> case x of [] -> []; [0] -> []; _ -> [0,0]+ , \x -> case x of [0,0] -> []; _ -> [0,0]+ , \x -> case x of [1] -> []; _ -> [0,0]+ , \x -> case x of [] -> [0,0]; _ -> [1]+ , \x -> case x of [0] -> [0]; _ -> [1]+ , \x -> case x of [] -> []; [0] -> []; _ -> [1]+ , \x -> case x of [0,0] -> []; _ -> [1]+ , \x -> case x of [1] -> []; _ -> [1]+ , \x -> case x of [] -> [0]; _ -> [0,0,0]+ , \x -> case x of [0] -> []; _ -> [0,0,0]+ , \x -> case x of [] -> [0]; _ -> [0,1]+ , \x -> case x of [0] -> []; _ -> [0,1]+ , \x -> case x of [] -> [0]; _ -> [1,0]+ , \x -> case x of [0] -> []; _ -> [1,0]+ , \x -> case x of [] -> [0]; _ -> [2]+ , \x -> case x of [0] -> []; _ -> [2]+ , \x -> case x of [] -> []; _ -> [0,0,0,0]+ , \x -> case x of [] -> []; _ -> [0,0,1]+ , \x -> case x of [] -> []; _ -> [0,1,0]+ , \x -> case x of [] -> []; _ -> [0,2]+ , \x -> case x of [] -> []; _ -> [1,0,0]+ , \x -> case x of [] -> []; _ -> [1,1]+ , \x -> case x of [] -> []; _ -> [2,0]+ , \x -> case x of [] -> []; _ -> [3]+ , \_ -> [0,0,0,0,0]+ , \_ -> [0,0,0,1]+ , \_ -> [0,0,1,0]+ , \_ -> [0,0,2]+ , \_ -> [0,1,0,0]+ , \_ -> [0,1,1]+ , \_ -> [0,2,0]+ , \_ -> [0,3]+ , \_ -> [1,0,0,0]+ , \_ -> [1,0,1]+ , \_ -> [1,1,0]+ , \_ -> [1,2]+ , \_ -> [2,0,0]+ , \_ -> [2,1]+ , \_ -> [3,0]+ , \_ -> [4]+ ]+ , ...+ ]
+ test/diff/tiers-4cases-U-Bool.out view
@@ -0,0 +1,13 @@+map length (tiers :: [[ ()->Bool ]]) = [2]++length (list :: [ ()->Bool ]) = 2++allUnique (list :: [ ()->Bool ]) = True++ratioRepetitions (list :: [ ()->Bool ]) = 0 % 1++tiers :: [()->Bool] =+ [ [ \_ -> False+ , \_ -> True+ ]+ ]
+ test/diff/tiers-4cases-U-Nat.out view
@@ -0,0 +1,17 @@+map length (tiers :: [[ ()->Nat ]]) = [1,1,1,1,1,1,...]++length (list :: [ ()->Nat ]) = Infinity++allUnique (list :: [ ()->Nat ]) = True++ratioRepetitions (list :: [ ()->Nat ]) = 0 % 1++tiers :: [()->Nat] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [\_ -> 2]+ , [\_ -> 3]+ , [\_ -> 4]+ , [\_ -> 5]+ , ...+ ]
+ test/diff/tiers-4cases-U-U.out view
@@ -0,0 +1,10 @@+map length (tiers :: [[ ()->() ]]) = [1]++length (list :: [ ()->() ]) = 1++allUnique (list :: [ ()->() ]) = True++ratioRepetitions (list :: [ ()->() ]) = 0 % 1++tiers :: [()->()] =+ [[\_ -> ()]]
+ test/diff/tiers-4cases-Us-Us.out view
@@ -0,0 +1,51 @@+map length (tiers :: [[ [()]->[()] ]]) = [1,1,3,5,10,16,...]++length (list :: [ [()]->[()] ]) = Infinity++allUnique (list :: [ [()]->[()] ]) = True++ratioRepetitions (list :: [ [()]->[()] ]) = 0 % 1++tiers :: [[()]->[()]] =+ [ [\_ -> []]+ , [\_ -> [()]]+ , [ \x -> case x of [] -> [()]; _ -> []+ , \x -> case x of [] -> []; _ -> [()]+ , \_ -> [(),()]+ ]+ , [ \x -> case x of [] -> [(),()]; _ -> []+ , \x -> case x of [()] -> [()]; _ -> []+ , \x -> case x of [()] -> []; _ -> [()]+ , \x -> case x of [] -> []; _ -> [(),()]+ , \_ -> [(),(),()]+ ]+ , [ \x -> case x of [] -> [(),(),()]; _ -> []+ , \x -> case x of [()] -> [(),()]; _ -> []+ , \x -> case x of [(),()] -> [()]; _ -> []+ , \x -> case x of [] -> [(),()]; _ -> [()]+ , \x -> case x of [] -> []; [()] -> []; _ -> [()]+ , \x -> case x of [(),()] -> []; _ -> [()]+ , \x -> case x of [] -> [()]; _ -> [(),()]+ , \x -> case x of [()] -> []; _ -> [(),()]+ , \x -> case x of [] -> []; _ -> [(),(),()]+ , \_ -> [(),(),(),()]+ ]+ , [ \x -> case x of [] -> [(),(),(),()]; _ -> []+ , \x -> case x of [()] -> [(),(),()]; _ -> []+ , \x -> case x of [] -> [()]; [()] -> [()]; _ -> []+ , \x -> case x of [(),()] -> [(),()]; _ -> []+ , \x -> case x of [(),(),()] -> [()]; _ -> []+ , \x -> case x of [] -> [(),(),()]; _ -> [()]+ , \x -> case x of [()] -> [(),()]; _ -> [()]+ , \x -> case x of [] -> []; [(),()] -> []; _ -> [()]+ , \x -> case x of [(),(),()] -> []; _ -> [()]+ , \x -> case x of [()] -> [()]; _ -> [(),()]+ , \x -> case x of [] -> []; [()] -> []; _ -> [(),()]+ , \x -> case x of [(),()] -> []; _ -> [(),()]+ , \x -> case x of [] -> [()]; _ -> [(),(),()]+ , \x -> case x of [()] -> []; _ -> [(),(),()]+ , \x -> case x of [] -> []; _ -> [(),(),(),()]+ , \_ -> [(),(),(),(),()]+ ]+ , ...+ ]
+ test/diff/tiers-BagBool.out view
@@ -0,0 +1,100 @@+map length (tiers :: [[ Bag Bool ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ Bag Bool ]) = Infinity++allUnique (list :: [ Bag Bool ]) = True++ratioRepetitions (list :: [ Bag Bool ]) = 0 % 1++tiers :: [Bag Bool] =+ [ [Bag []]+ , [ Bag [False]+ , Bag [True]+ ]+ , [ Bag [False,False]+ , Bag [False,True]+ , Bag [True,True]+ ]+ , [ Bag [False,False,False]+ , Bag [False,False,True]+ , Bag [False,True,True]+ , Bag [True,True,True]+ ]+ , [ Bag [False,False,False,False]+ , Bag [False,False,False,True]+ , Bag [False,False,True,True]+ , Bag [False,True,True,True]+ , Bag [True,True,True,True]+ ]+ , [ Bag [False,False,False,False,False]+ , Bag [False,False,False,False,True]+ , Bag [False,False,False,True,True]+ , Bag [False,False,True,True,True]+ , Bag [False,True,True,True,True]+ , Bag [True,True,True,True,True]+ ]+ , [ Bag [False,False,False,False,False,False]+ , Bag [False,False,False,False,False,True]+ , Bag [False,False,False,False,True,True]+ , Bag [False,False,False,True,True,True]+ , Bag [False,False,True,True,True,True]+ , Bag [False,True,True,True,True,True]+ , Bag [True,True,True,True,True,True]+ ]+ , [ Bag [False,False,False,False,False,False,False]+ , Bag [False,False,False,False,False,False,True]+ , Bag [False,False,False,False,False,True,True]+ , Bag [False,False,False,False,True,True,True]+ , Bag [False,False,False,True,True,True,True]+ , Bag [False,False,True,True,True,True,True]+ , Bag [False,True,True,True,True,True,True]+ , Bag [True,True,True,True,True,True,True]+ ]+ , [ Bag [False,False,False,False,False,False,False,False]+ , Bag [False,False,False,False,False,False,False,True]+ , Bag [False,False,False,False,False,False,True,True]+ , Bag [False,False,False,False,False,True,True,True]+ , Bag [False,False,False,False,True,True,True,True]+ , Bag [False,False,False,True,True,True,True,True]+ , Bag [False,False,True,True,True,True,True,True]+ , Bag [False,True,True,True,True,True,True,True]+ , Bag [True,True,True,True,True,True,True,True]+ ]+ , [ Bag [False,False,False,False,False,False,False,False,False]+ , Bag [False,False,False,False,False,False,False,False,True]+ , Bag [False,False,False,False,False,False,False,True,True]+ , Bag [False,False,False,False,False,False,True,True,True]+ , Bag [False,False,False,False,False,True,True,True,True]+ , Bag [False,False,False,False,True,True,True,True,True]+ , Bag [False,False,False,True,True,True,True,True,True]+ , Bag [False,False,True,True,True,True,True,True,True]+ , Bag [False,True,True,True,True,True,True,True,True]+ , Bag [True,True,True,True,True,True,True,True,True]+ ]+ , [ Bag [False,False,False,False,False,False,False,False,False,False]+ , Bag [False,False,False,False,False,False,False,False,False,True]+ , Bag [False,False,False,False,False,False,False,False,True,True]+ , Bag [False,False,False,False,False,False,False,True,True,True]+ , Bag [False,False,False,False,False,False,True,True,True,True]+ , Bag [False,False,False,False,False,True,True,True,True,True]+ , Bag [False,False,False,False,True,True,True,True,True,True]+ , Bag [False,False,False,True,True,True,True,True,True,True]+ , Bag [False,False,True,True,True,True,True,True,True,True]+ , Bag [False,True,True,True,True,True,True,True,True,True]+ , Bag [True,True,True,True,True,True,True,True,True,True]+ ]+ , [ Bag [False,False,False,False,False,False,False,False,False,False,False]+ , Bag [False,False,False,False,False,False,False,False,False,False,True]+ , Bag [False,False,False,False,False,False,False,False,False,True,True]+ , Bag [False,False,False,False,False,False,False,False,True,True,True]+ , Bag [False,False,False,False,False,False,False,True,True,True,True]+ , Bag [False,False,False,False,False,False,True,True,True,True,True]+ , Bag [False,False,False,False,False,True,True,True,True,True,True]+ , Bag [False,False,False,False,True,True,True,True,True,True,True]+ , Bag [False,False,False,True,True,True,True,True,True,True,True]+ , Bag [False,False,True,True,True,True,True,True,True,True,True]+ , Bag [False,True,True,True,True,True,True,True,True,True,True]+ , Bag [True,True,True,True,True,True,True,True,True,True,True]+ ]+ , ...+ ]
+ test/diff/tiers-BagNat.out view
@@ -0,0 +1,216 @@+map length (tiers :: [[ Bag Nat ]]) = [1,1,2,3,5,7,11,15,22,30,42,56,...]++length (list :: [ Bag Nat ]) = Infinity++allUnique (list :: [ Bag Nat ]) = True++ratioRepetitions (list :: [ Bag Nat ]) = 0 % 1++tiers :: [Bag Nat] =+ [ [Bag []]+ , [Bag [0]]+ , [ Bag [0,0]+ , Bag [1]+ ]+ , [ Bag [0,0,0]+ , Bag [0,1]+ , Bag [2]+ ]+ , [ Bag [0,0,0,0]+ , Bag [0,0,1]+ , Bag [0,2]+ , Bag [1,1]+ , Bag [3]+ ]+ , [ Bag [0,0,0,0,0]+ , Bag [0,0,0,1]+ , Bag [0,0,2]+ , Bag [0,1,1]+ , Bag [0,3]+ , Bag [1,2]+ , Bag [4]+ ]+ , [ Bag [0,0,0,0,0,0]+ , Bag [0,0,0,0,1]+ , Bag [0,0,0,2]+ , Bag [0,0,1,1]+ , Bag [0,0,3]+ , Bag [0,1,2]+ , Bag [0,4]+ , Bag [1,1,1]+ , Bag [1,3]+ , Bag [2,2]+ , Bag [5]+ ]+ , [ Bag [0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,1]+ , Bag [0,0,0,0,2]+ , Bag [0,0,0,1,1]+ , Bag [0,0,0,3]+ , Bag [0,0,1,2]+ , Bag [0,0,4]+ , Bag [0,1,1,1]+ , Bag [0,1,3]+ , Bag [0,2,2]+ , Bag [0,5]+ , Bag [1,1,2]+ , Bag [1,4]+ , Bag [2,3]+ , Bag [6]+ ]+ , [ Bag [0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,2]+ , Bag [0,0,0,0,1,1]+ , Bag [0,0,0,0,3]+ , Bag [0,0,0,1,2]+ , Bag [0,0,0,4]+ , Bag [0,0,1,1,1]+ , Bag [0,0,1,3]+ , Bag [0,0,2,2]+ , Bag [0,0,5]+ , Bag [0,1,1,2]+ , Bag [0,1,4]+ , Bag [0,2,3]+ , Bag [0,6]+ , Bag [1,1,1,1]+ , Bag [1,1,3]+ , Bag [1,2,2]+ , Bag [1,5]+ , Bag [2,4]+ , Bag [3,3]+ , Bag [7]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,2]+ , Bag [0,0,0,0,0,1,1]+ , Bag [0,0,0,0,0,3]+ , Bag [0,0,0,0,1,2]+ , Bag [0,0,0,0,4]+ , Bag [0,0,0,1,1,1]+ , Bag [0,0,0,1,3]+ , Bag [0,0,0,2,2]+ , Bag [0,0,0,5]+ , Bag [0,0,1,1,2]+ , Bag [0,0,1,4]+ , Bag [0,0,2,3]+ , Bag [0,0,6]+ , Bag [0,1,1,1,1]+ , Bag [0,1,1,3]+ , Bag [0,1,2,2]+ , Bag [0,1,5]+ , Bag [0,2,4]+ , Bag [0,3,3]+ , Bag [0,7]+ , Bag [1,1,1,2]+ , Bag [1,1,4]+ , Bag [1,2,3]+ , Bag [1,6]+ , Bag [2,2,2]+ , Bag [2,5]+ , Bag [3,4]+ , Bag [8]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,0,2]+ , Bag [0,0,0,0,0,0,1,1]+ , Bag [0,0,0,0,0,0,3]+ , Bag [0,0,0,0,0,1,2]+ , Bag [0,0,0,0,0,4]+ , Bag [0,0,0,0,1,1,1]+ , Bag [0,0,0,0,1,3]+ , Bag [0,0,0,0,2,2]+ , Bag [0,0,0,0,5]+ , Bag [0,0,0,1,1,2]+ , Bag [0,0,0,1,4]+ , Bag [0,0,0,2,3]+ , Bag [0,0,0,6]+ , Bag [0,0,1,1,1,1]+ , Bag [0,0,1,1,3]+ , Bag [0,0,1,2,2]+ , Bag [0,0,1,5]+ , Bag [0,0,2,4]+ , Bag [0,0,3,3]+ , Bag [0,0,7]+ , Bag [0,1,1,1,2]+ , Bag [0,1,1,4]+ , Bag [0,1,2,3]+ , Bag [0,1,6]+ , Bag [0,2,2,2]+ , Bag [0,2,5]+ , Bag [0,3,4]+ , Bag [0,8]+ , Bag [1,1,1,1,1]+ , Bag [1,1,1,3]+ , Bag [1,1,2,2]+ , Bag [1,1,5]+ , Bag [1,2,4]+ , Bag [1,3,3]+ , Bag [1,7]+ , Bag [2,2,3]+ , Bag [2,6]+ , Bag [3,5]+ , Bag [4,4]+ , Bag [9]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,0,0,2]+ , Bag [0,0,0,0,0,0,0,1,1]+ , Bag [0,0,0,0,0,0,0,3]+ , Bag [0,0,0,0,0,0,1,2]+ , Bag [0,0,0,0,0,0,4]+ , Bag [0,0,0,0,0,1,1,1]+ , Bag [0,0,0,0,0,1,3]+ , Bag [0,0,0,0,0,2,2]+ , Bag [0,0,0,0,0,5]+ , Bag [0,0,0,0,1,1,2]+ , Bag [0,0,0,0,1,4]+ , Bag [0,0,0,0,2,3]+ , Bag [0,0,0,0,6]+ , Bag [0,0,0,1,1,1,1]+ , Bag [0,0,0,1,1,3]+ , Bag [0,0,0,1,2,2]+ , Bag [0,0,0,1,5]+ , Bag [0,0,0,2,4]+ , Bag [0,0,0,3,3]+ , Bag [0,0,0,7]+ , Bag [0,0,1,1,1,2]+ , Bag [0,0,1,1,4]+ , Bag [0,0,1,2,3]+ , Bag [0,0,1,6]+ , Bag [0,0,2,2,2]+ , Bag [0,0,2,5]+ , Bag [0,0,3,4]+ , Bag [0,0,8]+ , Bag [0,1,1,1,1,1]+ , Bag [0,1,1,1,3]+ , Bag [0,1,1,2,2]+ , Bag [0,1,1,5]+ , Bag [0,1,2,4]+ , Bag [0,1,3,3]+ , Bag [0,1,7]+ , Bag [0,2,2,3]+ , Bag [0,2,6]+ , Bag [0,3,5]+ , Bag [0,4,4]+ , Bag [0,9]+ , Bag [1,1,1,1,2]+ , Bag [1,1,1,4]+ , Bag [1,1,2,3]+ , Bag [1,1,6]+ , Bag [1,2,2,2]+ , Bag [1,2,5]+ , Bag [1,3,4]+ , Bag [1,8]+ , Bag [2,2,4]+ , Bag [2,3,3]+ , Bag [2,7]+ , Bag [3,6]+ , Bag [4,5]+ , Bag [10]+ ]+ , ...+ ]
+ test/diff/tiers-BagNat2.out view
@@ -0,0 +1,63 @@+map length (tiers :: [[ Bag Nat2 ]]) = [1,1,2,2,3,3,4,4,5,5,6,6,...]++length (list :: [ Bag Nat2 ]) = Infinity++allUnique (list :: [ Bag Nat2 ]) = True++ratioRepetitions (list :: [ Bag Nat2 ]) = 0 % 1++tiers :: [Bag Nat2] =+ [ [Bag []]+ , [Bag [0]]+ , [ Bag [0,0]+ , Bag [1]+ ]+ , [ Bag [0,0,0]+ , Bag [0,1]+ ]+ , [ Bag [0,0,0,0]+ , Bag [0,0,1]+ , Bag [1,1]+ ]+ , [ Bag [0,0,0,0,0]+ , Bag [0,0,0,1]+ , Bag [0,1,1]+ ]+ , [ Bag [0,0,0,0,0,0]+ , Bag [0,0,0,0,1]+ , Bag [0,0,1,1]+ , Bag [1,1,1]+ ]+ , [ Bag [0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,1]+ , Bag [0,0,0,1,1]+ , Bag [0,1,1,1]+ ]+ , [ Bag [0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,1]+ , Bag [0,0,0,0,1,1]+ , Bag [0,0,1,1,1]+ , Bag [1,1,1,1]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,1,1]+ , Bag [0,0,0,1,1,1]+ , Bag [0,1,1,1,1]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,1,1]+ , Bag [0,0,0,0,1,1,1]+ , Bag [0,0,1,1,1,1]+ , Bag [1,1,1,1,1]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,0,1,1]+ , Bag [0,0,0,0,0,1,1,1]+ , Bag [0,0,0,1,1,1,1]+ , Bag [0,1,1,1,1,1]+ ]+ , ...+ ]
+ test/diff/tiers-BagNat3.out view
@@ -0,0 +1,104 @@+map length (tiers :: [[ Bag Nat3 ]]) = [1,1,2,3,4,5,7,8,10,12,14,16,...]++length (list :: [ Bag Nat3 ]) = Infinity++allUnique (list :: [ Bag Nat3 ]) = True++ratioRepetitions (list :: [ Bag Nat3 ]) = 0 % 1++tiers :: [Bag Nat3] =+ [ [Bag []]+ , [Bag [0]]+ , [ Bag [0,0]+ , Bag [1]+ ]+ , [ Bag [0,0,0]+ , Bag [0,1]+ , Bag [2]+ ]+ , [ Bag [0,0,0,0]+ , Bag [0,0,1]+ , Bag [0,2]+ , Bag [1,1]+ ]+ , [ Bag [0,0,0,0,0]+ , Bag [0,0,0,1]+ , Bag [0,0,2]+ , Bag [0,1,1]+ , Bag [1,2]+ ]+ , [ Bag [0,0,0,0,0,0]+ , Bag [0,0,0,0,1]+ , Bag [0,0,0,2]+ , Bag [0,0,1,1]+ , Bag [0,1,2]+ , Bag [1,1,1]+ , Bag [2,2]+ ]+ , [ Bag [0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,1]+ , Bag [0,0,0,0,2]+ , Bag [0,0,0,1,1]+ , Bag [0,0,1,2]+ , Bag [0,1,1,1]+ , Bag [0,2,2]+ , Bag [1,1,2]+ ]+ , [ Bag [0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,2]+ , Bag [0,0,0,0,1,1]+ , Bag [0,0,0,1,2]+ , Bag [0,0,1,1,1]+ , Bag [0,0,2,2]+ , Bag [0,1,1,2]+ , Bag [1,1,1,1]+ , Bag [1,2,2]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,2]+ , Bag [0,0,0,0,0,1,1]+ , Bag [0,0,0,0,1,2]+ , Bag [0,0,0,1,1,1]+ , Bag [0,0,0,2,2]+ , Bag [0,0,1,1,2]+ , Bag [0,1,1,1,1]+ , Bag [0,1,2,2]+ , Bag [1,1,1,2]+ , Bag [2,2,2]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,0,2]+ , Bag [0,0,0,0,0,0,1,1]+ , Bag [0,0,0,0,0,1,2]+ , Bag [0,0,0,0,1,1,1]+ , Bag [0,0,0,0,2,2]+ , Bag [0,0,0,1,1,2]+ , Bag [0,0,1,1,1,1]+ , Bag [0,0,1,2,2]+ , Bag [0,1,1,1,2]+ , Bag [0,2,2,2]+ , Bag [1,1,1,1,1]+ , Bag [1,1,2,2]+ ]+ , [ Bag [0,0,0,0,0,0,0,0,0,0,0]+ , Bag [0,0,0,0,0,0,0,0,0,1]+ , Bag [0,0,0,0,0,0,0,0,2]+ , Bag [0,0,0,0,0,0,0,1,1]+ , Bag [0,0,0,0,0,0,1,2]+ , Bag [0,0,0,0,0,1,1,1]+ , Bag [0,0,0,0,0,2,2]+ , Bag [0,0,0,0,1,1,2]+ , Bag [0,0,0,1,1,1,1]+ , Bag [0,0,0,1,2,2]+ , Bag [0,0,1,1,1,2]+ , Bag [0,0,2,2,2]+ , Bag [0,1,1,1,1,1]+ , Bag [0,1,1,2,2]+ , Bag [1,1,1,1,2]+ , Bag [1,2,2,2]+ ]+ , ...+ ]
+ test/diff/tiers-BagU.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Bag () ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Bag () ]) = Infinity++allUnique (list :: [ Bag () ]) = True++ratioRepetitions (list :: [ Bag () ]) = 0 % 1++tiers :: [Bag ()] =+ [ [Bag []]+ , [Bag [()]]+ , [Bag [(),()]]+ , [Bag [(),(),()]]+ , [Bag [(),(),(),()]]+ , [Bag [(),(),(),(),()]]+ , [Bag [(),(),(),(),(),()]]+ , [Bag [(),(),(),(),(),(),()]]+ , [Bag [(),(),(),(),(),(),(),()]]+ , [Bag [(),(),(),(),(),(),(),(),()]]+ , [Bag [(),(),(),(),(),(),(),(),(),()]]+ , [Bag [(),(),(),(),(),(),(),(),(),(),()]]+ , ...+ ]
+ test/diff/tiers-Bool.out view
@@ -0,0 +1,13 @@+map length (tiers :: [[ Bool ]]) = [2]++length (list :: [ Bool ]) = 2++allUnique (list :: [ Bool ]) = True++ratioRepetitions (list :: [ Bool ]) = 0 % 1++tiers :: [Bool] =+ [ [ False+ , True+ ]+ ]
+ test/diff/tiers-Bools.out view
@@ -0,0 +1,79 @@+map length (tiers :: [[ [Bool] ]]) = [1,2,4,8,16,32,...]++length (list :: [ [Bool] ]) = Infinity++allUnique (list :: [ [Bool] ]) = True++ratioRepetitions (list :: [ [Bool] ]) = 0 % 1++tiers :: [[Bool]] =+ [ [[]]+ , [ [False]+ , [True]+ ]+ , [ [False,False]+ , [False,True]+ , [True,False]+ , [True,True]+ ]+ , [ [False,False,False]+ , [False,False,True]+ , [False,True,False]+ , [False,True,True]+ , [True,False,False]+ , [True,False,True]+ , [True,True,False]+ , [True,True,True]+ ]+ , [ [False,False,False,False]+ , [False,False,False,True]+ , [False,False,True,False]+ , [False,False,True,True]+ , [False,True,False,False]+ , [False,True,False,True]+ , [False,True,True,False]+ , [False,True,True,True]+ , [True,False,False,False]+ , [True,False,False,True]+ , [True,False,True,False]+ , [True,False,True,True]+ , [True,True,False,False]+ , [True,True,False,True]+ , [True,True,True,False]+ , [True,True,True,True]+ ]+ , [ [False,False,False,False,False]+ , [False,False,False,False,True]+ , [False,False,False,True,False]+ , [False,False,False,True,True]+ , [False,False,True,False,False]+ , [False,False,True,False,True]+ , [False,False,True,True,False]+ , [False,False,True,True,True]+ , [False,True,False,False,False]+ , [False,True,False,False,True]+ , [False,True,False,True,False]+ , [False,True,False,True,True]+ , [False,True,True,False,False]+ , [False,True,True,False,True]+ , [False,True,True,True,False]+ , [False,True,True,True,True]+ , [True,False,False,False,False]+ , [True,False,False,False,True]+ , [True,False,False,True,False]+ , [True,False,False,True,True]+ , [True,False,True,False,False]+ , [True,False,True,False,True]+ , [True,False,True,True,False]+ , [True,False,True,True,True]+ , [True,True,False,False,False]+ , [True,True,False,False,True]+ , [True,True,False,True,False]+ , [True,True,False,True,True]+ , [True,True,True,False,False]+ , [True,True,True,False,True]+ , [True,True,True,True,False]+ , [True,True,True,True,True]+ ]+ , ...+ ]
+ test/diff/tiers-Char.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Char ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Char ]) = Infinity++allUnique (list :: [ Char ]) = True++ratioRepetitions (list :: [ Char ]) = 0 % 1++tiers :: [Char] =+ [ ['a']+ , [' ']+ , ['b']+ , ['A']+ , ['c']+ , ['\n']+ , ['d']+ , ['0']+ , ['e']+ , ['B']+ , ['f']+ , ['!']+ , ...+ ]
+ test/diff/tiers-Double.out view
@@ -0,0 +1,52 @@+map length (tiers :: [[ Double ]]) = [1,1,2,3,2,2,2,4,4,2,2,6,...]++length (list :: [ Double ]) = Infinity++allUnique (list :: [ Double ]) = True++ratioRepetitions (list :: [ Double ]) = 0 % 1++tiers :: [Double] =+ [ [0.0]+ , [1.0]+ , [ -1.0+ , Infinity+ ]+ , [ 0.5+ , 2.0+ , -Infinity+ ]+ , [ -0.5+ , -2.0+ ]+ , [ 0.3333333333333333+ , 3.0+ ]+ , [ -0.3333333333333333+ , -3.0+ ]+ , [ 0.25+ , 0.6666666666666666+ , 1.5+ , 4.0+ ]+ , [ -0.25+ , -0.6666666666666666+ , -1.5+ , -4.0+ ]+ , [ 0.2+ , 5.0+ ]+ , [ -0.2+ , -5.0+ ]+ , [ 0.16666666666666666+ , 0.4+ , 0.75+ , 1.3333333333333333+ , 2.5+ , 6.0+ ]+ , ...+ ]
+ test/diff/tiers-Float.out view
@@ -0,0 +1,52 @@+map length (tiers :: [[ Float ]]) = [1,1,2,3,2,2,2,4,4,2,2,6,...]++length (list :: [ Float ]) = Infinity++allUnique (list :: [ Float ]) = True++ratioRepetitions (list :: [ Float ]) = 0 % 1++tiers :: [Float] =+ [ [0.0]+ , [1.0]+ , [ -1.0+ , Infinity+ ]+ , [ 0.5+ , 2.0+ , -Infinity+ ]+ , [ -0.5+ , -2.0+ ]+ , [ 0.33333334+ , 3.0+ ]+ , [ -0.33333334+ , -3.0+ ]+ , [ 0.25+ , 0.6666667+ , 1.5+ , 4.0+ ]+ , [ -0.25+ , -0.6666667+ , -1.5+ , -4.0+ ]+ , [ 0.2+ , 5.0+ ]+ , [ -0.2+ , -5.0+ ]+ , [ 0.16666667+ , 0.4+ , 0.75+ , 1.3333334+ , 2.5+ , 6.0+ ]+ , ...+ ]
+ test/diff/tiers-Int,Int,Int.out view
@@ -0,0 +1,72 @@+map length (tiers :: [[ (Int,Int,Int) ]]) = [1,3,6,10,15,21,...]++length (list :: [ (Int,Int,Int) ]) = Infinity++allUnique (list :: [ (Int,Int,Int) ]) = True++ratioRepetitions (list :: [ (Int,Int,Int) ]) = 0 % 1++tiers :: [(Int,Int,Int)] =+ [ [(0,0,0)]+ , [ (0,0,1)+ , (0,1,0)+ , (1,0,0)+ ]+ , [ (0,0,-1)+ , (0,1,1)+ , (0,-1,0)+ , (1,0,1)+ , (1,1,0)+ , (-1,0,0)+ ]+ , [ (0,0,2)+ , (0,1,-1)+ , (0,-1,1)+ , (0,2,0)+ , (1,0,-1)+ , (1,1,1)+ , (1,-1,0)+ , (-1,0,1)+ , (-1,1,0)+ , (2,0,0)+ ]+ , [ (0,0,-2)+ , (0,1,2)+ , (0,-1,-1)+ , (0,2,1)+ , (0,-2,0)+ , (1,0,2)+ , (1,1,-1)+ , (1,-1,1)+ , (1,2,0)+ , (-1,0,-1)+ , (-1,1,1)+ , (-1,-1,0)+ , (2,0,1)+ , (2,1,0)+ , (-2,0,0)+ ]+ , [ (0,0,3)+ , (0,1,-2)+ , (0,-1,2)+ , (0,2,-1)+ , (0,-2,1)+ , (0,3,0)+ , (1,0,-2)+ , (1,1,2)+ , (1,-1,-1)+ , (1,2,1)+ , (1,-2,0)+ , (-1,0,2)+ , (-1,1,-1)+ , (-1,-1,1)+ , (-1,2,0)+ , (2,0,-1)+ , (2,1,1)+ , (2,-1,0)+ , (-2,0,1)+ , (-2,1,0)+ , (3,0,0)+ ]+ , ...+ ]
+ test/diff/tiers-Int,Int.out view
@@ -0,0 +1,100 @@+map length (tiers :: [[ (Int,Int) ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ (Int,Int) ]) = Infinity++allUnique (list :: [ (Int,Int) ]) = True++ratioRepetitions (list :: [ (Int,Int) ]) = 0 % 1++tiers :: [(Int,Int)] =+ [ [(0,0)]+ , [ (0,1)+ , (1,0)+ ]+ , [ (0,-1)+ , (1,1)+ , (-1,0)+ ]+ , [ (0,2)+ , (1,-1)+ , (-1,1)+ , (2,0)+ ]+ , [ (0,-2)+ , (1,2)+ , (-1,-1)+ , (2,1)+ , (-2,0)+ ]+ , [ (0,3)+ , (1,-2)+ , (-1,2)+ , (2,-1)+ , (-2,1)+ , (3,0)+ ]+ , [ (0,-3)+ , (1,3)+ , (-1,-2)+ , (2,2)+ , (-2,-1)+ , (3,1)+ , (-3,0)+ ]+ , [ (0,4)+ , (1,-3)+ , (-1,3)+ , (2,-2)+ , (-2,2)+ , (3,-1)+ , (-3,1)+ , (4,0)+ ]+ , [ (0,-4)+ , (1,4)+ , (-1,-3)+ , (2,3)+ , (-2,-2)+ , (3,2)+ , (-3,-1)+ , (4,1)+ , (-4,0)+ ]+ , [ (0,5)+ , (1,-4)+ , (-1,4)+ , (2,-3)+ , (-2,3)+ , (3,-2)+ , (-3,2)+ , (4,-1)+ , (-4,1)+ , (5,0)+ ]+ , [ (0,-5)+ , (1,5)+ , (-1,-4)+ , (2,4)+ , (-2,-3)+ , (3,3)+ , (-3,-2)+ , (4,2)+ , (-4,-1)+ , (5,1)+ , (-5,0)+ ]+ , [ (0,6)+ , (1,-5)+ , (-1,5)+ , (2,-4)+ , (-2,4)+ , (3,-3)+ , (-3,3)+ , (4,-2)+ , (-4,2)+ , (5,-1)+ , (-5,1)+ , (6,0)+ ]+ , ...+ ]
+ test/diff/tiers-Int.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Int ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Int ]) = Infinity++allUnique (list :: [ Int ]) = True++ratioRepetitions (list :: [ Int ]) = 0 % 1++tiers :: [Int] =+ [ [0]+ , [1]+ , [-1]+ , [2]+ , [-2]+ , [3]+ , [-3]+ , [4]+ , [-4]+ , [5]+ , [-5]+ , [6]+ , ...+ ]
+ test/diff/tiers-Integer.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Integer ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Integer ]) = Infinity++allUnique (list :: [ Integer ]) = True++ratioRepetitions (list :: [ Integer ]) = 0 % 1++tiers :: [Integer] =+ [ [0]+ , [1]+ , [-1]+ , [2]+ , [-2]+ , [3]+ , [-3]+ , [4]+ , [-4]+ , [5]+ , [-5]+ , [6]+ , ...+ ]
+ test/diff/tiers-Ints.out view
@@ -0,0 +1,47 @@+map length (tiers :: [[ [Int] ]]) = [1,1,2,4,8,16,...]++length (list :: [ [Int] ]) = Infinity++allUnique (list :: [ [Int] ]) = True++ratioRepetitions (list :: [ [Int] ]) = 0 % 1++tiers :: [[Int]] =+ [ [[]]+ , [[0]]+ , [ [0,0]+ , [1]+ ]+ , [ [0,0,0]+ , [0,1]+ , [1,0]+ , [-1]+ ]+ , [ [0,0,0,0]+ , [0,0,1]+ , [0,1,0]+ , [0,-1]+ , [1,0,0]+ , [1,1]+ , [-1,0]+ , [2]+ ]+ , [ [0,0,0,0,0]+ , [0,0,0,1]+ , [0,0,1,0]+ , [0,0,-1]+ , [0,1,0,0]+ , [0,1,1]+ , [0,-1,0]+ , [0,2]+ , [1,0,0,0]+ , [1,0,1]+ , [1,1,0]+ , [1,-1]+ , [-1,0,0]+ , [-1,1]+ , [2,0]+ , [-2]+ ]+ , ...+ ]
+ test/diff/tiers-MapBoolBool.out view
@@ -0,0 +1,21 @@+map length (tiers :: [[ Map Bool Bool ]]) = [1,4,4]++length (list :: [ Map Bool Bool ]) = 9++allUnique (list :: [ Map Bool Bool ]) = True++ratioRepetitions (list :: [ Map Bool Bool ]) = 0 % 1++tiers :: [Map Bool Bool] =+ [ [Map []]+ , [ Map [(False,False)]+ , Map [(False,True)]+ , Map [(True,False)]+ , Map [(True,True)]+ ]+ , [ Map [(False,False),(True,False)]+ , Map [(False,False),(True,True)]+ , Map [(False,True),(True,False)]+ , Map [(False,True),(True,True)]+ ]+ ]
+ test/diff/tiers-MapNat2Nat2.out view
@@ -0,0 +1,22 @@+map length (tiers :: [[ Map Nat2 Nat2 ]]) = [1,1,2,2,2,1]++length (list :: [ Map Nat2 Nat2 ]) = 9++allUnique (list :: [ Map Nat2 Nat2 ]) = True++ratioRepetitions (list :: [ Map Nat2 Nat2 ]) = 0 % 1++tiers :: [Map Nat2 Nat2] =+ [ [Map []]+ , [Map [(0,0)]]+ , [ Map [(0,1)]+ , Map [(1,0)]+ ]+ , [ Map [(1,1)]+ , Map [(0,0),(1,0)]+ ]+ , [ Map [(0,0),(1,1)]+ , Map [(0,1),(1,0)]+ ]+ , [Map [(0,1),(1,1)]]+ ]
+ test/diff/tiers-MapNat3Nat3.out view
@@ -0,0 +1,84 @@+map length (tiers :: [[ Map Nat3 Nat3 ]]) = [1,1,2,4,5,7,8,9,9,8,6,3,...]++length (list :: [ Map Nat3 Nat3 ]) = Infinity++allUnique (list :: [ Map Nat3 Nat3 ]) = True++ratioRepetitions (list :: [ Map Nat3 Nat3 ]) = 0 % 1++tiers :: [Map Nat3 Nat3] =+ [ [Map []]+ , [Map [(0,0)]]+ , [ Map [(0,1)]+ , Map [(1,0)]+ ]+ , [ Map [(0,2)]+ , Map [(1,1)]+ , Map [(0,0),(1,0)]+ , Map [(2,0)]+ ]+ , [ Map [(1,2)]+ , Map [(0,0),(1,1)]+ , Map [(0,1),(1,0)]+ , Map [(2,1)]+ , Map [(0,0),(2,0)]+ ]+ , [ Map [(0,0),(1,2)]+ , Map [(0,1),(1,1)]+ , Map [(0,2),(1,0)]+ , Map [(2,2)]+ , Map [(0,0),(2,1)]+ , Map [(0,1),(2,0)]+ , Map [(1,0),(2,0)]+ ]+ , [ Map [(0,1),(1,2)]+ , Map [(0,2),(1,1)]+ , Map [(0,0),(2,2)]+ , Map [(0,1),(2,1)]+ , Map [(0,2),(2,0)]+ , Map [(1,0),(2,1)]+ , Map [(1,1),(2,0)]+ , Map [(0,0),(1,0),(2,0)]+ ]+ , [ Map [(0,2),(1,2)]+ , Map [(0,1),(2,2)]+ , Map [(0,2),(2,1)]+ , Map [(1,0),(2,2)]+ , Map [(1,1),(2,1)]+ , Map [(1,2),(2,0)]+ , Map [(0,0),(1,0),(2,1)]+ , Map [(0,0),(1,1),(2,0)]+ , Map [(0,1),(1,0),(2,0)]+ ]+ , [ Map [(0,2),(2,2)]+ , Map [(1,1),(2,2)]+ , Map [(1,2),(2,1)]+ , Map [(0,0),(1,0),(2,2)]+ , Map [(0,0),(1,1),(2,1)]+ , Map [(0,0),(1,2),(2,0)]+ , Map [(0,1),(1,0),(2,1)]+ , Map [(0,1),(1,1),(2,0)]+ , Map [(0,2),(1,0),(2,0)]+ ]+ , [ Map [(1,2),(2,2)]+ , Map [(0,0),(1,1),(2,2)]+ , Map [(0,0),(1,2),(2,1)]+ , Map [(0,1),(1,0),(2,2)]+ , Map [(0,1),(1,1),(2,1)]+ , Map [(0,1),(1,2),(2,0)]+ , Map [(0,2),(1,0),(2,1)]+ , Map [(0,2),(1,1),(2,0)]+ ]+ , [ Map [(0,0),(1,2),(2,2)]+ , Map [(0,1),(1,1),(2,2)]+ , Map [(0,1),(1,2),(2,1)]+ , Map [(0,2),(1,0),(2,2)]+ , Map [(0,2),(1,1),(2,1)]+ , Map [(0,2),(1,2),(2,0)]+ ]+ , [ Map [(0,1),(1,2),(2,2)]+ , Map [(0,2),(1,1),(2,2)]+ , Map [(0,2),(1,2),(2,1)]+ ]+ , ...+ ]
+ test/diff/tiers-MapNatNat.out view
@@ -0,0 +1,571 @@+map length (tiers :: [[ Map Nat Nat ]]) = [1,1,2,4,7,12,20,33,53,84,131,202,...]++length (list :: [ Map Nat Nat ]) = Infinity++allUnique (list :: [ Map Nat Nat ]) = True++ratioRepetitions (list :: [ Map Nat Nat ]) = 0 % 1++tiers :: [Map Nat Nat] =+ [ [Map []]+ , [Map [(0,0)]]+ , [ Map [(0,1)]+ , Map [(1,0)]+ ]+ , [ Map [(0,2)]+ , Map [(1,1)]+ , Map [(0,0),(1,0)]+ , Map [(2,0)]+ ]+ , [ Map [(0,3)]+ , Map [(1,2)]+ , Map [(0,0),(1,1)]+ , Map [(0,1),(1,0)]+ , Map [(2,1)]+ , Map [(0,0),(2,0)]+ , Map [(3,0)]+ ]+ , [ Map [(0,4)]+ , Map [(1,3)]+ , Map [(0,0),(1,2)]+ , Map [(0,1),(1,1)]+ , Map [(0,2),(1,0)]+ , Map [(2,2)]+ , Map [(0,0),(2,1)]+ , Map [(0,1),(2,0)]+ , Map [(3,1)]+ , Map [(0,0),(3,0)]+ , Map [(1,0),(2,0)]+ , Map [(4,0)]+ ]+ , [ Map [(0,5)]+ , Map [(1,4)]+ , Map [(0,0),(1,3)]+ , Map [(0,1),(1,2)]+ , Map [(0,2),(1,1)]+ , Map [(0,3),(1,0)]+ , Map [(2,3)]+ , Map [(0,0),(2,2)]+ , Map [(0,1),(2,1)]+ , Map [(0,2),(2,0)]+ , Map [(3,2)]+ , Map [(0,0),(3,1)]+ , Map [(0,1),(3,0)]+ , Map [(1,0),(2,1)]+ , Map [(1,1),(2,0)]+ , Map [(4,1)]+ , Map [(0,0),(1,0),(2,0)]+ , Map [(0,0),(4,0)]+ , Map [(1,0),(3,0)]+ , Map [(5,0)]+ ]+ , [ Map [(0,6)]+ , Map [(1,5)]+ , Map [(0,0),(1,4)]+ , Map [(0,1),(1,3)]+ , Map [(0,2),(1,2)]+ , Map [(0,3),(1,1)]+ , Map [(0,4),(1,0)]+ , Map [(2,4)]+ , Map [(0,0),(2,3)]+ , Map [(0,1),(2,2)]+ , Map [(0,2),(2,1)]+ , Map [(0,3),(2,0)]+ , Map [(3,3)]+ , Map [(0,0),(3,2)]+ , Map [(0,1),(3,1)]+ , Map [(0,2),(3,0)]+ , Map [(1,0),(2,2)]+ , Map [(1,1),(2,1)]+ , Map [(1,2),(2,0)]+ , Map [(4,2)]+ , Map [(0,0),(1,0),(2,1)]+ , Map [(0,0),(1,1),(2,0)]+ , Map [(0,1),(1,0),(2,0)]+ , Map [(0,0),(4,1)]+ , Map [(0,1),(4,0)]+ , Map [(1,0),(3,1)]+ , Map [(1,1),(3,0)]+ , Map [(5,1)]+ , Map [(0,0),(1,0),(3,0)]+ , Map [(0,0),(5,0)]+ , Map [(1,0),(4,0)]+ , Map [(2,0),(3,0)]+ , Map [(6,0)]+ ]+ , [ Map [(0,7)]+ , Map [(1,6)]+ , Map [(0,0),(1,5)]+ , Map [(0,1),(1,4)]+ , Map [(0,2),(1,3)]+ , Map [(0,3),(1,2)]+ , Map [(0,4),(1,1)]+ , Map [(0,5),(1,0)]+ , Map [(2,5)]+ , Map [(0,0),(2,4)]+ , Map [(0,1),(2,3)]+ , Map [(0,2),(2,2)]+ , Map [(0,3),(2,1)]+ , Map [(0,4),(2,0)]+ , Map [(3,4)]+ , Map [(0,0),(3,3)]+ , Map [(0,1),(3,2)]+ , Map [(0,2),(3,1)]+ , Map [(0,3),(3,0)]+ , Map [(1,0),(2,3)]+ , Map [(1,1),(2,2)]+ , Map [(1,2),(2,1)]+ , Map [(1,3),(2,0)]+ , Map [(4,3)]+ , Map [(0,0),(1,0),(2,2)]+ , Map [(0,0),(1,1),(2,1)]+ , Map [(0,0),(1,2),(2,0)]+ , Map [(0,1),(1,0),(2,1)]+ , Map [(0,1),(1,1),(2,0)]+ , Map [(0,2),(1,0),(2,0)]+ , Map [(0,0),(4,2)]+ , Map [(0,1),(4,1)]+ , Map [(0,2),(4,0)]+ , Map [(1,0),(3,2)]+ , Map [(1,1),(3,1)]+ , Map [(1,2),(3,0)]+ , Map [(5,2)]+ , Map [(0,0),(1,0),(3,1)]+ , Map [(0,0),(1,1),(3,0)]+ , Map [(0,1),(1,0),(3,0)]+ , Map [(0,0),(5,1)]+ , Map [(0,1),(5,0)]+ , Map [(1,0),(4,1)]+ , Map [(1,1),(4,0)]+ , Map [(2,0),(3,1)]+ , Map [(2,1),(3,0)]+ , Map [(6,1)]+ , Map [(0,0),(1,0),(4,0)]+ , Map [(0,0),(2,0),(3,0)]+ , Map [(0,0),(6,0)]+ , Map [(1,0),(5,0)]+ , Map [(2,0),(4,0)]+ , Map [(7,0)]+ ]+ , [ Map [(0,8)]+ , Map [(1,7)]+ , Map [(0,0),(1,6)]+ , Map [(0,1),(1,5)]+ , Map [(0,2),(1,4)]+ , Map [(0,3),(1,3)]+ , Map [(0,4),(1,2)]+ , Map [(0,5),(1,1)]+ , Map [(0,6),(1,0)]+ , Map [(2,6)]+ , Map [(0,0),(2,5)]+ , Map [(0,1),(2,4)]+ , Map [(0,2),(2,3)]+ , Map [(0,3),(2,2)]+ , Map [(0,4),(2,1)]+ , Map [(0,5),(2,0)]+ , Map [(3,5)]+ , Map [(0,0),(3,4)]+ , Map [(0,1),(3,3)]+ , Map [(0,2),(3,2)]+ , Map [(0,3),(3,1)]+ , Map [(0,4),(3,0)]+ , Map [(1,0),(2,4)]+ , Map [(1,1),(2,3)]+ , Map [(1,2),(2,2)]+ , Map [(1,3),(2,1)]+ , Map [(1,4),(2,0)]+ , Map [(4,4)]+ , Map [(0,0),(1,0),(2,3)]+ , Map [(0,0),(1,1),(2,2)]+ , Map [(0,0),(1,2),(2,1)]+ , Map [(0,0),(1,3),(2,0)]+ , Map [(0,1),(1,0),(2,2)]+ , Map [(0,1),(1,1),(2,1)]+ , Map [(0,1),(1,2),(2,0)]+ , Map [(0,2),(1,0),(2,1)]+ , Map [(0,2),(1,1),(2,0)]+ , Map [(0,3),(1,0),(2,0)]+ , Map [(0,0),(4,3)]+ , Map [(0,1),(4,2)]+ , Map [(0,2),(4,1)]+ , Map [(0,3),(4,0)]+ , Map [(1,0),(3,3)]+ , Map [(1,1),(3,2)]+ , Map [(1,2),(3,1)]+ , Map [(1,3),(3,0)]+ , Map [(5,3)]+ , Map [(0,0),(1,0),(3,2)]+ , Map [(0,0),(1,1),(3,1)]+ , Map [(0,0),(1,2),(3,0)]+ , Map [(0,1),(1,0),(3,1)]+ , Map [(0,1),(1,1),(3,0)]+ , Map [(0,2),(1,0),(3,0)]+ , Map [(0,0),(5,2)]+ , Map [(0,1),(5,1)]+ , Map [(0,2),(5,0)]+ , Map [(1,0),(4,2)]+ , Map [(1,1),(4,1)]+ , Map [(1,2),(4,0)]+ , Map [(2,0),(3,2)]+ , Map [(2,1),(3,1)]+ , Map [(2,2),(3,0)]+ , Map [(6,2)]+ , Map [(0,0),(1,0),(4,1)]+ , Map [(0,0),(1,1),(4,0)]+ , Map [(0,1),(1,0),(4,0)]+ , Map [(0,0),(2,0),(3,1)]+ , Map [(0,0),(2,1),(3,0)]+ , Map [(0,1),(2,0),(3,0)]+ , Map [(0,0),(6,1)]+ , Map [(0,1),(6,0)]+ , Map [(1,0),(5,1)]+ , Map [(1,1),(5,0)]+ , Map [(2,0),(4,1)]+ , Map [(2,1),(4,0)]+ , Map [(7,1)]+ , Map [(0,0),(1,0),(5,0)]+ , Map [(0,0),(2,0),(4,0)]+ , Map [(0,0),(7,0)]+ , Map [(1,0),(2,0),(3,0)]+ , Map [(1,0),(6,0)]+ , Map [(2,0),(5,0)]+ , Map [(3,0),(4,0)]+ , Map [(8,0)]+ ]+ , [ Map [(0,9)]+ , Map [(1,8)]+ , Map [(0,0),(1,7)]+ , Map [(0,1),(1,6)]+ , Map [(0,2),(1,5)]+ , Map [(0,3),(1,4)]+ , Map [(0,4),(1,3)]+ , Map [(0,5),(1,2)]+ , Map [(0,6),(1,1)]+ , Map [(0,7),(1,0)]+ , Map [(2,7)]+ , Map [(0,0),(2,6)]+ , Map [(0,1),(2,5)]+ , Map [(0,2),(2,4)]+ , Map [(0,3),(2,3)]+ , Map [(0,4),(2,2)]+ , Map [(0,5),(2,1)]+ , Map [(0,6),(2,0)]+ , Map [(3,6)]+ , Map [(0,0),(3,5)]+ , Map [(0,1),(3,4)]+ , Map [(0,2),(3,3)]+ , Map [(0,3),(3,2)]+ , Map [(0,4),(3,1)]+ , Map [(0,5),(3,0)]+ , Map [(1,0),(2,5)]+ , Map [(1,1),(2,4)]+ , Map [(1,2),(2,3)]+ , Map [(1,3),(2,2)]+ , Map [(1,4),(2,1)]+ , Map [(1,5),(2,0)]+ , Map [(4,5)]+ , Map [(0,0),(1,0),(2,4)]+ , Map [(0,0),(1,1),(2,3)]+ , Map [(0,0),(1,2),(2,2)]+ , Map [(0,0),(1,3),(2,1)]+ , Map [(0,0),(1,4),(2,0)]+ , Map [(0,1),(1,0),(2,3)]+ , Map [(0,1),(1,1),(2,2)]+ , Map [(0,1),(1,2),(2,1)]+ , Map [(0,1),(1,3),(2,0)]+ , Map [(0,2),(1,0),(2,2)]+ , Map [(0,2),(1,1),(2,1)]+ , Map [(0,2),(1,2),(2,0)]+ , Map [(0,3),(1,0),(2,1)]+ , Map [(0,3),(1,1),(2,0)]+ , Map [(0,4),(1,0),(2,0)]+ , Map [(0,0),(4,4)]+ , Map [(0,1),(4,3)]+ , Map [(0,2),(4,2)]+ , Map [(0,3),(4,1)]+ , Map [(0,4),(4,0)]+ , Map [(1,0),(3,4)]+ , Map [(1,1),(3,3)]+ , Map [(1,2),(3,2)]+ , Map [(1,3),(3,1)]+ , Map [(1,4),(3,0)]+ , Map [(5,4)]+ , Map [(0,0),(1,0),(3,3)]+ , Map [(0,0),(1,1),(3,2)]+ , Map [(0,0),(1,2),(3,1)]+ , Map [(0,0),(1,3),(3,0)]+ , Map [(0,1),(1,0),(3,2)]+ , Map [(0,1),(1,1),(3,1)]+ , Map [(0,1),(1,2),(3,0)]+ , Map [(0,2),(1,0),(3,1)]+ , Map [(0,2),(1,1),(3,0)]+ , Map [(0,3),(1,0),(3,0)]+ , Map [(0,0),(5,3)]+ , Map [(0,1),(5,2)]+ , Map [(0,2),(5,1)]+ , Map [(0,3),(5,0)]+ , Map [(1,0),(4,3)]+ , Map [(1,1),(4,2)]+ , Map [(1,2),(4,1)]+ , Map [(1,3),(4,0)]+ , Map [(2,0),(3,3)]+ , Map [(2,1),(3,2)]+ , Map [(2,2),(3,1)]+ , Map [(2,3),(3,0)]+ , Map [(6,3)]+ , Map [(0,0),(1,0),(4,2)]+ , Map [(0,0),(1,1),(4,1)]+ , Map [(0,0),(1,2),(4,0)]+ , Map [(0,1),(1,0),(4,1)]+ , Map [(0,1),(1,1),(4,0)]+ , Map [(0,2),(1,0),(4,0)]+ , Map [(0,0),(2,0),(3,2)]+ , Map [(0,0),(2,1),(3,1)]+ , Map [(0,0),(2,2),(3,0)]+ , Map [(0,1),(2,0),(3,1)]+ , Map [(0,1),(2,1),(3,0)]+ , Map [(0,2),(2,0),(3,0)]+ , Map [(0,0),(6,2)]+ , Map [(0,1),(6,1)]+ , Map [(0,2),(6,0)]+ , Map [(1,0),(5,2)]+ , Map [(1,1),(5,1)]+ , Map [(1,2),(5,0)]+ , Map [(2,0),(4,2)]+ , Map [(2,1),(4,1)]+ , Map [(2,2),(4,0)]+ , Map [(7,2)]+ , Map [(0,0),(1,0),(5,1)]+ , Map [(0,0),(1,1),(5,0)]+ , Map [(0,1),(1,0),(5,0)]+ , Map [(0,0),(2,0),(4,1)]+ , Map [(0,0),(2,1),(4,0)]+ , Map [(0,1),(2,0),(4,0)]+ , Map [(0,0),(7,1)]+ , Map [(0,1),(7,0)]+ , Map [(1,0),(2,0),(3,1)]+ , Map [(1,0),(2,1),(3,0)]+ , Map [(1,1),(2,0),(3,0)]+ , Map [(1,0),(6,1)]+ , Map [(1,1),(6,0)]+ , Map [(2,0),(5,1)]+ , Map [(2,1),(5,0)]+ , Map [(3,0),(4,1)]+ , Map [(3,1),(4,0)]+ , Map [(8,1)]+ , Map [(0,0),(1,0),(2,0),(3,0)]+ , Map [(0,0),(1,0),(6,0)]+ , Map [(0,0),(2,0),(5,0)]+ , Map [(0,0),(3,0),(4,0)]+ , Map [(0,0),(8,0)]+ , Map [(1,0),(2,0),(4,0)]+ , Map [(1,0),(7,0)]+ , Map [(2,0),(6,0)]+ , Map [(3,0),(5,0)]+ , Map [(9,0)]+ ]+ , [ Map [(0,10)]+ , Map [(1,9)]+ , Map [(0,0),(1,8)]+ , Map [(0,1),(1,7)]+ , Map [(0,2),(1,6)]+ , Map [(0,3),(1,5)]+ , Map [(0,4),(1,4)]+ , Map [(0,5),(1,3)]+ , Map [(0,6),(1,2)]+ , Map [(0,7),(1,1)]+ , Map [(0,8),(1,0)]+ , Map [(2,8)]+ , Map [(0,0),(2,7)]+ , Map [(0,1),(2,6)]+ , Map [(0,2),(2,5)]+ , Map [(0,3),(2,4)]+ , Map [(0,4),(2,3)]+ , Map [(0,5),(2,2)]+ , Map [(0,6),(2,1)]+ , Map [(0,7),(2,0)]+ , Map [(3,7)]+ , Map [(0,0),(3,6)]+ , Map [(0,1),(3,5)]+ , Map [(0,2),(3,4)]+ , Map [(0,3),(3,3)]+ , Map [(0,4),(3,2)]+ , Map [(0,5),(3,1)]+ , Map [(0,6),(3,0)]+ , Map [(1,0),(2,6)]+ , Map [(1,1),(2,5)]+ , Map [(1,2),(2,4)]+ , Map [(1,3),(2,3)]+ , Map [(1,4),(2,2)]+ , Map [(1,5),(2,1)]+ , Map [(1,6),(2,0)]+ , Map [(4,6)]+ , Map [(0,0),(1,0),(2,5)]+ , Map [(0,0),(1,1),(2,4)]+ , Map [(0,0),(1,2),(2,3)]+ , Map [(0,0),(1,3),(2,2)]+ , Map [(0,0),(1,4),(2,1)]+ , Map [(0,0),(1,5),(2,0)]+ , Map [(0,1),(1,0),(2,4)]+ , Map [(0,1),(1,1),(2,3)]+ , Map [(0,1),(1,2),(2,2)]+ , Map [(0,1),(1,3),(2,1)]+ , Map [(0,1),(1,4),(2,0)]+ , Map [(0,2),(1,0),(2,3)]+ , Map [(0,2),(1,1),(2,2)]+ , Map [(0,2),(1,2),(2,1)]+ , Map [(0,2),(1,3),(2,0)]+ , Map [(0,3),(1,0),(2,2)]+ , Map [(0,3),(1,1),(2,1)]+ , Map [(0,3),(1,2),(2,0)]+ , Map [(0,4),(1,0),(2,1)]+ , Map [(0,4),(1,1),(2,0)]+ , Map [(0,5),(1,0),(2,0)]+ , Map [(0,0),(4,5)]+ , Map [(0,1),(4,4)]+ , Map [(0,2),(4,3)]+ , Map [(0,3),(4,2)]+ , Map [(0,4),(4,1)]+ , Map [(0,5),(4,0)]+ , Map [(1,0),(3,5)]+ , Map [(1,1),(3,4)]+ , Map [(1,2),(3,3)]+ , Map [(1,3),(3,2)]+ , Map [(1,4),(3,1)]+ , Map [(1,5),(3,0)]+ , Map [(5,5)]+ , Map [(0,0),(1,0),(3,4)]+ , Map [(0,0),(1,1),(3,3)]+ , Map [(0,0),(1,2),(3,2)]+ , Map [(0,0),(1,3),(3,1)]+ , Map [(0,0),(1,4),(3,0)]+ , Map [(0,1),(1,0),(3,3)]+ , Map [(0,1),(1,1),(3,2)]+ , Map [(0,1),(1,2),(3,1)]+ , Map [(0,1),(1,3),(3,0)]+ , Map [(0,2),(1,0),(3,2)]+ , Map [(0,2),(1,1),(3,1)]+ , Map [(0,2),(1,2),(3,0)]+ , Map [(0,3),(1,0),(3,1)]+ , Map [(0,3),(1,1),(3,0)]+ , Map [(0,4),(1,0),(3,0)]+ , Map [(0,0),(5,4)]+ , Map [(0,1),(5,3)]+ , Map [(0,2),(5,2)]+ , Map [(0,3),(5,1)]+ , Map [(0,4),(5,0)]+ , Map [(1,0),(4,4)]+ , Map [(1,1),(4,3)]+ , Map [(1,2),(4,2)]+ , Map [(1,3),(4,1)]+ , Map [(1,4),(4,0)]+ , Map [(2,0),(3,4)]+ , Map [(2,1),(3,3)]+ , Map [(2,2),(3,2)]+ , Map [(2,3),(3,1)]+ , Map [(2,4),(3,0)]+ , Map [(6,4)]+ , Map [(0,0),(1,0),(4,3)]+ , Map [(0,0),(1,1),(4,2)]+ , Map [(0,0),(1,2),(4,1)]+ , Map [(0,0),(1,3),(4,0)]+ , Map [(0,1),(1,0),(4,2)]+ , Map [(0,1),(1,1),(4,1)]+ , Map [(0,1),(1,2),(4,0)]+ , Map [(0,2),(1,0),(4,1)]+ , Map [(0,2),(1,1),(4,0)]+ , Map [(0,3),(1,0),(4,0)]+ , Map [(0,0),(2,0),(3,3)]+ , Map [(0,0),(2,1),(3,2)]+ , Map [(0,0),(2,2),(3,1)]+ , Map [(0,0),(2,3),(3,0)]+ , Map [(0,1),(2,0),(3,2)]+ , Map [(0,1),(2,1),(3,1)]+ , Map [(0,1),(2,2),(3,0)]+ , Map [(0,2),(2,0),(3,1)]+ , Map [(0,2),(2,1),(3,0)]+ , Map [(0,3),(2,0),(3,0)]+ , Map [(0,0),(6,3)]+ , Map [(0,1),(6,2)]+ , Map [(0,2),(6,1)]+ , Map [(0,3),(6,0)]+ , Map [(1,0),(5,3)]+ , Map [(1,1),(5,2)]+ , Map [(1,2),(5,1)]+ , Map [(1,3),(5,0)]+ , Map [(2,0),(4,3)]+ , Map [(2,1),(4,2)]+ , Map [(2,2),(4,1)]+ , Map [(2,3),(4,0)]+ , Map [(7,3)]+ , Map [(0,0),(1,0),(5,2)]+ , Map [(0,0),(1,1),(5,1)]+ , Map [(0,0),(1,2),(5,0)]+ , Map [(0,1),(1,0),(5,1)]+ , Map [(0,1),(1,1),(5,0)]+ , Map [(0,2),(1,0),(5,0)]+ , Map [(0,0),(2,0),(4,2)]+ , Map [(0,0),(2,1),(4,1)]+ , Map [(0,0),(2,2),(4,0)]+ , Map [(0,1),(2,0),(4,1)]+ , Map [(0,1),(2,1),(4,0)]+ , Map [(0,2),(2,0),(4,0)]+ , Map [(0,0),(7,2)]+ , Map [(0,1),(7,1)]+ , Map [(0,2),(7,0)]+ , Map [(1,0),(2,0),(3,2)]+ , Map [(1,0),(2,1),(3,1)]+ , Map [(1,0),(2,2),(3,0)]+ , Map [(1,1),(2,0),(3,1)]+ , Map [(1,1),(2,1),(3,0)]+ , Map [(1,2),(2,0),(3,0)]+ , Map [(1,0),(6,2)]+ , Map [(1,1),(6,1)]+ , Map [(1,2),(6,0)]+ , Map [(2,0),(5,2)]+ , Map [(2,1),(5,1)]+ , Map [(2,2),(5,0)]+ , Map [(3,0),(4,2)]+ , Map [(3,1),(4,1)]+ , Map [(3,2),(4,0)]+ , Map [(8,2)]+ , Map [(0,0),(1,0),(2,0),(3,1)]+ , Map [(0,0),(1,0),(2,1),(3,0)]+ , Map [(0,0),(1,1),(2,0),(3,0)]+ , Map [(0,1),(1,0),(2,0),(3,0)]+ , Map [(0,0),(1,0),(6,1)]+ , Map [(0,0),(1,1),(6,0)]+ , Map [(0,1),(1,0),(6,0)]+ , Map [(0,0),(2,0),(5,1)]+ , Map [(0,0),(2,1),(5,0)]+ , Map [(0,1),(2,0),(5,0)]+ , Map [(0,0),(3,0),(4,1)]+ , Map [(0,0),(3,1),(4,0)]+ , Map [(0,1),(3,0),(4,0)]+ , Map [(0,0),(8,1)]+ , Map [(0,1),(8,0)]+ , Map [(1,0),(2,0),(4,1)]+ , Map [(1,0),(2,1),(4,0)]+ , Map [(1,1),(2,0),(4,0)]+ , Map [(1,0),(7,1)]+ , Map [(1,1),(7,0)]+ , Map [(2,0),(6,1)]+ , Map [(2,1),(6,0)]+ , Map [(3,0),(5,1)]+ , Map [(3,1),(5,0)]+ , Map [(9,1)]+ , Map [(0,0),(1,0),(2,0),(4,0)]+ , Map [(0,0),(1,0),(7,0)]+ , Map [(0,0),(2,0),(6,0)]+ , Map [(0,0),(3,0),(5,0)]+ , Map [(0,0),(9,0)]+ , Map [(1,0),(2,0),(5,0)]+ , Map [(1,0),(3,0),(4,0)]+ , Map [(1,0),(8,0)]+ , Map [(2,0),(7,0)]+ , Map [(3,0),(6,0)]+ , Map [(4,0),(5,0)]+ , Map [(10,0)]+ ]+ , ...+ ]
+ test/diff/tiers-MapUU.out view
@@ -0,0 +1,12 @@+map length (tiers :: [[ Map () () ]]) = [1,1]++length (list :: [ Map () () ]) = 2++allUnique (list :: [ Map () () ]) = True++ratioRepetitions (list :: [ Map () () ]) = 0 % 1++tiers :: [Map () ()] =+ [ [Map []]+ , [Map [((),())]]+ ]
+ test/diff/tiers-Nat,Nat,Nat.out view
@@ -0,0 +1,72 @@+map length (tiers :: [[ (Nat,Nat,Nat) ]]) = [1,3,6,10,15,21,...]++length (list :: [ (Nat,Nat,Nat) ]) = Infinity++allUnique (list :: [ (Nat,Nat,Nat) ]) = True++ratioRepetitions (list :: [ (Nat,Nat,Nat) ]) = 0 % 1++tiers :: [(Nat,Nat,Nat)] =+ [ [(0,0,0)]+ , [ (0,0,1)+ , (0,1,0)+ , (1,0,0)+ ]+ , [ (0,0,2)+ , (0,1,1)+ , (0,2,0)+ , (1,0,1)+ , (1,1,0)+ , (2,0,0)+ ]+ , [ (0,0,3)+ , (0,1,2)+ , (0,2,1)+ , (0,3,0)+ , (1,0,2)+ , (1,1,1)+ , (1,2,0)+ , (2,0,1)+ , (2,1,0)+ , (3,0,0)+ ]+ , [ (0,0,4)+ , (0,1,3)+ , (0,2,2)+ , (0,3,1)+ , (0,4,0)+ , (1,0,3)+ , (1,1,2)+ , (1,2,1)+ , (1,3,0)+ , (2,0,2)+ , (2,1,1)+ , (2,2,0)+ , (3,0,1)+ , (3,1,0)+ , (4,0,0)+ ]+ , [ (0,0,5)+ , (0,1,4)+ , (0,2,3)+ , (0,3,2)+ , (0,4,1)+ , (0,5,0)+ , (1,0,4)+ , (1,1,3)+ , (1,2,2)+ , (1,3,1)+ , (1,4,0)+ , (2,0,3)+ , (2,1,2)+ , (2,2,1)+ , (2,3,0)+ , (3,0,2)+ , (3,1,1)+ , (3,2,0)+ , (4,0,1)+ , (4,1,0)+ , (5,0,0)+ ]+ , ...+ ]
+ test/diff/tiers-Nat,Nat.out view
@@ -0,0 +1,100 @@+map length (tiers :: [[ (Nat,Nat) ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ (Nat,Nat) ]) = Infinity++allUnique (list :: [ (Nat,Nat) ]) = True++ratioRepetitions (list :: [ (Nat,Nat) ]) = 0 % 1++tiers :: [(Nat,Nat)] =+ [ [(0,0)]+ , [ (0,1)+ , (1,0)+ ]+ , [ (0,2)+ , (1,1)+ , (2,0)+ ]+ , [ (0,3)+ , (1,2)+ , (2,1)+ , (3,0)+ ]+ , [ (0,4)+ , (1,3)+ , (2,2)+ , (3,1)+ , (4,0)+ ]+ , [ (0,5)+ , (1,4)+ , (2,3)+ , (3,2)+ , (4,1)+ , (5,0)+ ]+ , [ (0,6)+ , (1,5)+ , (2,4)+ , (3,3)+ , (4,2)+ , (5,1)+ , (6,0)+ ]+ , [ (0,7)+ , (1,6)+ , (2,5)+ , (3,4)+ , (4,3)+ , (5,2)+ , (6,1)+ , (7,0)+ ]+ , [ (0,8)+ , (1,7)+ , (2,6)+ , (3,5)+ , (4,4)+ , (5,3)+ , (6,2)+ , (7,1)+ , (8,0)+ ]+ , [ (0,9)+ , (1,8)+ , (2,7)+ , (3,6)+ , (4,5)+ , (5,4)+ , (6,3)+ , (7,2)+ , (8,1)+ , (9,0)+ ]+ , [ (0,10)+ , (1,9)+ , (2,8)+ , (3,7)+ , (4,6)+ , (5,5)+ , (6,4)+ , (7,3)+ , (8,2)+ , (9,1)+ , (10,0)+ ]+ , [ (0,11)+ , (1,10)+ , (2,9)+ , (3,8)+ , (4,7)+ , (5,6)+ , (6,5)+ , (7,4)+ , (8,3)+ , (9,2)+ , (10,1)+ , (11,0)+ ]+ , ...+ ]
+ test/diff/tiers-Nat.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ Nat ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ Nat ]) = Infinity++allUnique (list :: [ Nat ]) = True++ratioRepetitions (list :: [ Nat ]) = 0 % 1++tiers :: [Nat] =+ [ [0]+ , [1]+ , [2]+ , [3]+ , [4]+ , [5]+ , [6]+ , [7]+ , [8]+ , [9]+ , [10]+ , [11]+ , ...+ ]
+ test/diff/tiers-Nats.out view
@@ -0,0 +1,47 @@+map length (tiers :: [[ [Nat] ]]) = [1,1,2,4,8,16,...]++length (list :: [ [Nat] ]) = Infinity++allUnique (list :: [ [Nat] ]) = True++ratioRepetitions (list :: [ [Nat] ]) = 0 % 1++tiers :: [[Nat]] =+ [ [[]]+ , [[0]]+ , [ [0,0]+ , [1]+ ]+ , [ [0,0,0]+ , [0,1]+ , [1,0]+ , [2]+ ]+ , [ [0,0,0,0]+ , [0,0,1]+ , [0,1,0]+ , [0,2]+ , [1,0,0]+ , [1,1]+ , [2,0]+ , [3]+ ]+ , [ [0,0,0,0,0]+ , [0,0,0,1]+ , [0,0,1,0]+ , [0,0,2]+ , [0,1,0,0]+ , [0,1,1]+ , [0,2,0]+ , [0,3]+ , [1,0,0,0]+ , [1,0,1]+ , [1,1,0]+ , [1,2]+ , [2,0,0]+ , [2,1]+ , [3,0]+ , [4]+ ]+ , ...+ ]
+ test/diff/tiers-NoDupBool.out view
@@ -0,0 +1,17 @@+map length (tiers :: [[ NoDup Bool ]]) = [1,2,2]++length (list :: [ NoDup Bool ]) = 5++allUnique (list :: [ NoDup Bool ]) = True++ratioRepetitions (list :: [ NoDup Bool ]) = 0 % 1++tiers :: [NoDup Bool] =+ [ [NoDup []]+ , [ NoDup [False]+ , NoDup [True]+ ]+ , [ NoDup [False,True]+ , NoDup [True,False]+ ]+ ]
+ test/diff/tiers-NoDupNat.out view
@@ -0,0 +1,226 @@+map length (tiers :: [[ NoDup Nat ]]) = [1,1,1,3,3,5,11,13,19,27,57,65,...]++length (list :: [ NoDup Nat ]) = Infinity++allUnique (list :: [ NoDup Nat ]) = True++ratioRepetitions (list :: [ NoDup Nat ]) = 0 % 1++tiers :: [NoDup Nat] =+ [ [NoDup []]+ , [NoDup [0]]+ , [NoDup [1]]+ , [ NoDup [0,1]+ , NoDup [1,0]+ , NoDup [2]+ ]+ , [ NoDup [0,2]+ , NoDup [2,0]+ , NoDup [3]+ ]+ , [ NoDup [0,3]+ , NoDup [1,2]+ , NoDup [2,1]+ , NoDup [3,0]+ , NoDup [4]+ ]+ , [ NoDup [0,1,2]+ , NoDup [0,2,1]+ , NoDup [0,4]+ , NoDup [1,0,2]+ , NoDup [1,2,0]+ , NoDup [1,3]+ , NoDup [2,0,1]+ , NoDup [2,1,0]+ , NoDup [3,1]+ , NoDup [4,0]+ , NoDup [5]+ ]+ , [ NoDup [0,1,3]+ , NoDup [0,3,1]+ , NoDup [0,5]+ , NoDup [1,0,3]+ , NoDup [1,3,0]+ , NoDup [1,4]+ , NoDup [2,3]+ , NoDup [3,0,1]+ , NoDup [3,1,0]+ , NoDup [3,2]+ , NoDup [4,1]+ , NoDup [5,0]+ , NoDup [6]+ ]+ , [ NoDup [0,1,4]+ , NoDup [0,2,3]+ , NoDup [0,3,2]+ , NoDup [0,4,1]+ , NoDup [0,6]+ , NoDup [1,0,4]+ , NoDup [1,4,0]+ , NoDup [1,5]+ , NoDup [2,0,3]+ , NoDup [2,3,0]+ , NoDup [2,4]+ , NoDup [3,0,2]+ , NoDup [3,2,0]+ , NoDup [4,0,1]+ , NoDup [4,1,0]+ , NoDup [4,2]+ , NoDup [5,1]+ , NoDup [6,0]+ , NoDup [7]+ ]+ , [ NoDup [0,1,5]+ , NoDup [0,2,4]+ , NoDup [0,4,2]+ , NoDup [0,5,1]+ , NoDup [0,7]+ , NoDup [1,0,5]+ , NoDup [1,2,3]+ , NoDup [1,3,2]+ , NoDup [1,5,0]+ , NoDup [1,6]+ , NoDup [2,0,4]+ , NoDup [2,1,3]+ , NoDup [2,3,1]+ , NoDup [2,4,0]+ , NoDup [2,5]+ , NoDup [3,1,2]+ , NoDup [3,2,1]+ , NoDup [3,4]+ , NoDup [4,0,2]+ , NoDup [4,2,0]+ , NoDup [4,3]+ , NoDup [5,0,1]+ , NoDup [5,1,0]+ , NoDup [5,2]+ , NoDup [6,1]+ , NoDup [7,0]+ , NoDup [8]+ ]+ , [ NoDup [0,1,2,3]+ , NoDup [0,1,3,2]+ , NoDup [0,1,6]+ , NoDup [0,2,1,3]+ , NoDup [0,2,3,1]+ , NoDup [0,2,5]+ , NoDup [0,3,1,2]+ , NoDup [0,3,2,1]+ , NoDup [0,3,4]+ , NoDup [0,4,3]+ , NoDup [0,5,2]+ , NoDup [0,6,1]+ , NoDup [0,8]+ , NoDup [1,0,2,3]+ , NoDup [1,0,3,2]+ , NoDup [1,0,6]+ , NoDup [1,2,0,3]+ , NoDup [1,2,3,0]+ , NoDup [1,2,4]+ , NoDup [1,3,0,2]+ , NoDup [1,3,2,0]+ , NoDup [1,4,2]+ , NoDup [1,6,0]+ , NoDup [1,7]+ , NoDup [2,0,1,3]+ , NoDup [2,0,3,1]+ , NoDup [2,0,5]+ , NoDup [2,1,0,3]+ , NoDup [2,1,3,0]+ , NoDup [2,1,4]+ , NoDup [2,3,0,1]+ , NoDup [2,3,1,0]+ , NoDup [2,4,1]+ , NoDup [2,5,0]+ , NoDup [2,6]+ , NoDup [3,0,1,2]+ , NoDup [3,0,2,1]+ , NoDup [3,0,4]+ , NoDup [3,1,0,2]+ , NoDup [3,1,2,0]+ , NoDup [3,2,0,1]+ , NoDup [3,2,1,0]+ , NoDup [3,4,0]+ , NoDup [3,5]+ , NoDup [4,0,3]+ , NoDup [4,1,2]+ , NoDup [4,2,1]+ , NoDup [4,3,0]+ , NoDup [5,0,2]+ , NoDup [5,2,0]+ , NoDup [5,3]+ , NoDup [6,0,1]+ , NoDup [6,1,0]+ , NoDup [6,2]+ , NoDup [7,1]+ , NoDup [8,0]+ , NoDup [9]+ ]+ , [ NoDup [0,1,2,4]+ , NoDup [0,1,4,2]+ , NoDup [0,1,7]+ , NoDup [0,2,1,4]+ , NoDup [0,2,4,1]+ , NoDup [0,2,6]+ , NoDup [0,3,5]+ , NoDup [0,4,1,2]+ , NoDup [0,4,2,1]+ , NoDup [0,5,3]+ , NoDup [0,6,2]+ , NoDup [0,7,1]+ , NoDup [0,9]+ , NoDup [1,0,2,4]+ , NoDup [1,0,4,2]+ , NoDup [1,0,7]+ , NoDup [1,2,0,4]+ , NoDup [1,2,4,0]+ , NoDup [1,2,5]+ , NoDup [1,3,4]+ , NoDup [1,4,0,2]+ , NoDup [1,4,2,0]+ , NoDup [1,4,3]+ , NoDup [1,5,2]+ , NoDup [1,7,0]+ , NoDup [1,8]+ , NoDup [2,0,1,4]+ , NoDup [2,0,4,1]+ , NoDup [2,0,6]+ , NoDup [2,1,0,4]+ , NoDup [2,1,4,0]+ , NoDup [2,1,5]+ , NoDup [2,4,0,1]+ , NoDup [2,4,1,0]+ , NoDup [2,5,1]+ , NoDup [2,6,0]+ , NoDup [2,7]+ , NoDup [3,0,5]+ , NoDup [3,1,4]+ , NoDup [3,4,1]+ , NoDup [3,5,0]+ , NoDup [3,6]+ , NoDup [4,0,1,2]+ , NoDup [4,0,2,1]+ , NoDup [4,1,0,2]+ , NoDup [4,1,2,0]+ , NoDup [4,1,3]+ , NoDup [4,2,0,1]+ , NoDup [4,2,1,0]+ , NoDup [4,3,1]+ , NoDup [4,5]+ , NoDup [5,0,3]+ , NoDup [5,1,2]+ , NoDup [5,2,1]+ , NoDup [5,3,0]+ , NoDup [5,4]+ , NoDup [6,0,2]+ , NoDup [6,2,0]+ , NoDup [6,3]+ , NoDup [7,0,1]+ , NoDup [7,1,0]+ , NoDup [7,2]+ , NoDup [8,1]+ , NoDup [9,0]+ , NoDup [10]+ ]+ , ...+ ]
+ test/diff/tiers-NoDupNat2.out view
@@ -0,0 +1,16 @@+map length (tiers :: [[ NoDup Nat2 ]]) = [1,1,1,2]++length (list :: [ NoDup Nat2 ]) = 5++allUnique (list :: [ NoDup Nat2 ]) = True++ratioRepetitions (list :: [ NoDup Nat2 ]) = 0 % 1++tiers :: [NoDup Nat2] =+ [ [NoDup []]+ , [NoDup [0]]+ , [NoDup [1]]+ , [ NoDup [0,1]+ , NoDup [1,0]+ ]+ ]
+ test/diff/tiers-NoDupNat3.out view
@@ -0,0 +1,30 @@+map length (tiers :: [[ NoDup Nat3 ]]) = [1,1,1,3,2,2,6]++length (list :: [ NoDup Nat3 ]) = Infinity++allUnique (list :: [ NoDup Nat3 ]) = True++ratioRepetitions (list :: [ NoDup Nat3 ]) = 0 % 1++tiers :: [NoDup Nat3] =+ [ [NoDup []]+ , [NoDup [0]]+ , [NoDup [1]]+ , [ NoDup [0,1]+ , NoDup [1,0]+ , NoDup [2]+ ]+ , [ NoDup [0,2]+ , NoDup [2,0]+ ]+ , [ NoDup [1,2]+ , NoDup [2,1]+ ]+ , [ NoDup [0,1,2]+ , NoDup [0,2,1]+ , NoDup [1,0,2]+ , NoDup [1,2,0]+ , NoDup [2,0,1]+ , NoDup [2,1,0]+ ]+ ]
+ test/diff/tiers-NoDupU.out view
@@ -0,0 +1,12 @@+map length (tiers :: [[ NoDup () ]]) = [1,1]++length (list :: [ NoDup () ]) = 2++allUnique (list :: [ NoDup () ]) = True++ratioRepetitions (list :: [ NoDup () ]) = 0 % 1++tiers :: [NoDup ()] =+ [ [NoDup []]+ , [NoDup [()]]+ ]
+ test/diff/tiers-Rational.out view
@@ -0,0 +1,49 @@+map length (tiers :: [[ Rational ]]) = [1,1,1,2,2,2,2,4,4,2,2,6,...]++length (list :: [ Rational ]) = Infinity++allUnique (list :: [ Rational ]) = True++ratioRepetitions (list :: [ Rational ]) = 0 % 1++tiers :: [Rational] =+ [ [0 % 1]+ , [1 % 1]+ , [(-1) % 1]+ , [ 1 % 2+ , 2 % 1+ ]+ , [ (-1) % 2+ , (-2) % 1+ ]+ , [ 1 % 3+ , 3 % 1+ ]+ , [ (-1) % 3+ , (-3) % 1+ ]+ , [ 1 % 4+ , 2 % 3+ , 3 % 2+ , 4 % 1+ ]+ , [ (-1) % 4+ , (-2) % 3+ , (-3) % 2+ , (-4) % 1+ ]+ , [ 1 % 5+ , 5 % 1+ ]+ , [ (-1) % 5+ , (-5) % 1+ ]+ , [ 1 % 6+ , 2 % 5+ , 3 % 4+ , 4 % 3+ , 5 % 2+ , 6 % 1+ ]+ , ...+ ]
+ test/diff/tiers-SetBool.out view
@@ -0,0 +1,15 @@+map length (tiers :: [[ Set Bool ]]) = [1,2,1]++length (list :: [ Set Bool ]) = 4++allUnique (list :: [ Set Bool ]) = True++ratioRepetitions (list :: [ Set Bool ]) = 0 % 1++tiers :: [Set Bool] =+ [ [Set []]+ , [ Set [False]+ , Set [True]+ ]+ , [Set [False,True]]+ ]
+ test/diff/tiers-SetNat.out view
@@ -0,0 +1,75 @@+map length (tiers :: [[ Set Nat ]]) = [1,1,1,2,2,3,4,5,6,8,10,12,...]++length (list :: [ Set Nat ]) = Infinity++allUnique (list :: [ Set Nat ]) = True++ratioRepetitions (list :: [ Set Nat ]) = 0 % 1++tiers :: [Set Nat] =+ [ [Set []]+ , [Set [0]]+ , [Set [1]]+ , [ Set [0,1]+ , Set [2]+ ]+ , [ Set [0,2]+ , Set [3]+ ]+ , [ Set [0,3]+ , Set [1,2]+ , Set [4]+ ]+ , [ Set [0,1,2]+ , Set [0,4]+ , Set [1,3]+ , Set [5]+ ]+ , [ Set [0,1,3]+ , Set [0,5]+ , Set [1,4]+ , Set [2,3]+ , Set [6]+ ]+ , [ Set [0,1,4]+ , Set [0,2,3]+ , Set [0,6]+ , Set [1,5]+ , Set [2,4]+ , Set [7]+ ]+ , [ Set [0,1,5]+ , Set [0,2,4]+ , Set [0,7]+ , Set [1,2,3]+ , Set [1,6]+ , Set [2,5]+ , Set [3,4]+ , Set [8]+ ]+ , [ Set [0,1,2,3]+ , Set [0,1,6]+ , Set [0,2,5]+ , Set [0,3,4]+ , Set [0,8]+ , Set [1,2,4]+ , Set [1,7]+ , Set [2,6]+ , Set [3,5]+ , Set [9]+ ]+ , [ Set [0,1,2,4]+ , Set [0,1,7]+ , Set [0,2,6]+ , Set [0,3,5]+ , Set [0,9]+ , Set [1,2,5]+ , Set [1,3,4]+ , Set [1,8]+ , Set [2,7]+ , Set [3,6]+ , Set [4,5]+ , Set [10]+ ]+ , ...+ ]
+ test/diff/tiers-SetNat2.out view
@@ -0,0 +1,14 @@+map length (tiers :: [[ Set Nat2 ]]) = [1,1,1,1]++length (list :: [ Set Nat2 ]) = 4++allUnique (list :: [ Set Nat2 ]) = True++ratioRepetitions (list :: [ Set Nat2 ]) = 0 % 1++tiers :: [Set Nat2] =+ [ [Set []]+ , [Set [0]]+ , [Set [1]]+ , [Set [0,1]]+ ]
+ test/diff/tiers-SetNat3.out view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Set Nat3 ]]) = [1,1,1,2,1,1,1]++length (list :: [ Set Nat3 ]) = 8++allUnique (list :: [ Set Nat3 ]) = True++ratioRepetitions (list :: [ Set Nat3 ]) = 0 % 1++tiers :: [Set Nat3] =+ [ [Set []]+ , [Set [0]]+ , [Set [1]]+ , [ Set [0,1]+ , Set [2]+ ]+ , [Set [0,2]]+ , [Set [1,2]]+ , [Set [0,1,2]]+ ]
+ test/diff/tiers-SetU.out view
@@ -0,0 +1,12 @@+map length (tiers :: [[ Set () ]]) = [1,1]++length (list :: [ Set () ]) = 2++allUnique (list :: [ Set () ]) = True++ratioRepetitions (list :: [ Set () ]) = 0 % 1++tiers :: [Set ()] =+ [ [Set []]+ , [Set [()]]+ ]
+ test/diff/tiers-String.out view
@@ -0,0 +1,47 @@+map length (tiers :: [[ String ]]) = [1,1,2,4,8,16,...]++length (list :: [ String ]) = Infinity++allUnique (list :: [ String ]) = True++ratioRepetitions (list :: [ String ]) = 0 % 1++tiers :: [String] =+ [ [""]+ , ["a"]+ , [ "aa"+ , " "+ ]+ , [ "aaa"+ , "a "+ , " a"+ , "b"+ ]+ , [ "aaaa"+ , "aa "+ , "a a"+ , "ab"+ , " aa"+ , " "+ , "ba"+ , "A"+ ]+ , [ "aaaaa"+ , "aaa "+ , "aa a"+ , "aab"+ , "a aa"+ , "a "+ , "aba"+ , "aA"+ , " aaa"+ , " a "+ , " a"+ , " b"+ , "baa"+ , "b "+ , "Aa"+ , "c"+ ]+ , ...+ ]
+ test/diff/tiers-U,Us.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ [((),())] ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ [((),())] ]) = Infinity++allUnique (list :: [ [((),())] ]) = True++ratioRepetitions (list :: [ [((),())] ]) = 0 % 1++tiers :: [[((),())]] =+ [ [[]]+ , [[((),())]]+ , [[((),()),((),())]]+ , [[((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+ , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]+ , ...+ ]
+ test/diff/tiers-Us,Us.out view
@@ -0,0 +1,100 @@+map length (tiers :: [[ ([()],[()]) ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]++length (list :: [ ([()],[()]) ]) = Infinity++allUnique (list :: [ ([()],[()]) ]) = True++ratioRepetitions (list :: [ ([()],[()]) ]) = 0 % 1++tiers :: [([()],[()])] =+ [ [([],[])]+ , [ ([],[()])+ , ([()],[])+ ]+ , [ ([],[(),()])+ , ([()],[()])+ , ([(),()],[])+ ]+ , [ ([],[(),(),()])+ , ([()],[(),()])+ , ([(),()],[()])+ , ([(),(),()],[])+ ]+ , [ ([],[(),(),(),()])+ , ([()],[(),(),()])+ , ([(),()],[(),()])+ , ([(),(),()],[()])+ , ([(),(),(),()],[])+ ]+ , [ ([],[(),(),(),(),()])+ , ([()],[(),(),(),()])+ , ([(),()],[(),(),()])+ , ([(),(),()],[(),()])+ , ([(),(),(),()],[()])+ , ([(),(),(),(),()],[])+ ]+ , [ ([],[(),(),(),(),(),()])+ , ([()],[(),(),(),(),()])+ , ([(),()],[(),(),(),()])+ , ([(),(),()],[(),(),()])+ , ([(),(),(),()],[(),()])+ , ([(),(),(),(),()],[()])+ , ([(),(),(),(),(),()],[])+ ]+ , [ ([],[(),(),(),(),(),(),()])+ , ([()],[(),(),(),(),(),()])+ , ([(),()],[(),(),(),(),()])+ , ([(),(),()],[(),(),(),()])+ , ([(),(),(),()],[(),(),()])+ , ([(),(),(),(),()],[(),()])+ , ([(),(),(),(),(),()],[()])+ , ([(),(),(),(),(),(),()],[])+ ]+ , [ ([],[(),(),(),(),(),(),(),()])+ , ([()],[(),(),(),(),(),(),()])+ , ([(),()],[(),(),(),(),(),()])+ , ([(),(),()],[(),(),(),(),()])+ , ([(),(),(),()],[(),(),(),()])+ , ([(),(),(),(),()],[(),(),()])+ , ([(),(),(),(),(),()],[(),()])+ , ([(),(),(),(),(),(),()],[()])+ , ([(),(),(),(),(),(),(),()],[])+ ]+ , [ ([],[(),(),(),(),(),(),(),(),()])+ , ([()],[(),(),(),(),(),(),(),()])+ , ([(),()],[(),(),(),(),(),(),()])+ , ([(),(),()],[(),(),(),(),(),()])+ , ([(),(),(),()],[(),(),(),(),()])+ , ([(),(),(),(),()],[(),(),(),()])+ , ([(),(),(),(),(),()],[(),(),()])+ , ([(),(),(),(),(),(),()],[(),()])+ , ([(),(),(),(),(),(),(),()],[()])+ , ([(),(),(),(),(),(),(),(),()],[])+ ]+ , [ ([],[(),(),(),(),(),(),(),(),(),()])+ , ([()],[(),(),(),(),(),(),(),(),()])+ , ([(),()],[(),(),(),(),(),(),(),()])+ , ([(),(),()],[(),(),(),(),(),(),()])+ , ([(),(),(),()],[(),(),(),(),(),()])+ , ([(),(),(),(),()],[(),(),(),(),()])+ , ([(),(),(),(),(),()],[(),(),(),()])+ , ([(),(),(),(),(),(),()],[(),(),()])+ , ([(),(),(),(),(),(),(),()],[(),()])+ , ([(),(),(),(),(),(),(),(),()],[()])+ , ([(),(),(),(),(),(),(),(),(),()],[])+ ]+ , [ ([],[(),(),(),(),(),(),(),(),(),(),()])+ , ([()],[(),(),(),(),(),(),(),(),(),()])+ , ([(),()],[(),(),(),(),(),(),(),(),()])+ , ([(),(),()],[(),(),(),(),(),(),(),()])+ , ([(),(),(),()],[(),(),(),(),(),(),()])+ , ([(),(),(),(),()],[(),(),(),(),(),()])+ , ([(),(),(),(),(),()],[(),(),(),(),()])+ , ([(),(),(),(),(),(),()],[(),(),(),()])+ , ([(),(),(),(),(),(),(),()],[(),(),()])+ , ([(),(),(),(),(),(),(),(),()],[(),()])+ , ([(),(),(),(),(),(),(),(),(),()],[()])+ , ([(),(),(),(),(),(),(),(),(),(),()],[])+ ]+ , ...+ ]
+ test/diff/tiers-Us.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ [()] ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ [()] ]) = Infinity++allUnique (list :: [ [()] ]) = True++ratioRepetitions (list :: [ [()] ]) = 0 % 1++tiers :: [[()]] =+ [ [[]]+ , [[()]]+ , [[(),()]]+ , [[(),(),()]]+ , [[(),(),(),()]]+ , [[(),(),(),(),()]]+ , [[(),(),(),(),(),()]]+ , [[(),(),(),(),(),(),()]]+ , [[(),(),(),(),(),(),(),()]]+ , [[(),(),(),(),(),(),(),(),()]]+ , [[(),(),(),(),(),(),(),(),(),()]]+ , [[(),(),(),(),(),(),(),(),(),(),()]]+ , ...+ ]
+ test/diff/tiers-XInt4.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ X Int4 ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ X Int4 ]) = Infinity++allUnique (list :: [ X Int4 ]) = True++ratioRepetitions (list :: [ X Int4 ]) = 0 % 1++tiers :: [X Int4] =+ [ [0]+ , [1]+ , [-1]+ , [7]+ , [-8]+ , [2]+ , [-2]+ , [6]+ , [-7]+ , [3]+ , [-3]+ , [5]+ , ...+ ]
+ test/diff/tiers-XNat7.out view
@@ -0,0 +1,17 @@+map length (tiers :: [[ X Nat7 ]]) = [1,1,1,1,1,1,1]++length (list :: [ X Nat7 ]) = 7++allUnique (list :: [ X Nat7 ]) = True++ratioRepetitions (list :: [ X Nat7 ]) = 0 % 1++tiers :: [X Nat7] =+ [ [0]+ , [1]+ , [2]+ , [6]+ , [3]+ , [4]+ , [5]+ ]
+ test/diff/tiers-XWord4.out view
@@ -0,0 +1,23 @@+map length (tiers :: [[ X Word4 ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]++length (list :: [ X Word4 ]) = Infinity++allUnique (list :: [ X Word4 ]) = True++ratioRepetitions (list :: [ X Word4 ]) = 0 % 1++tiers :: [X Word4] =+ [ [0]+ , [1]+ , [2]+ , [15]+ , [3]+ , [4]+ , [14]+ , [5]+ , [6]+ , [13]+ , [7]+ , [8]+ , ...+ ]
+ test/diff/tiers-XsInt4.out view
@@ -0,0 +1,1045 @@+map length (tiers :: [[ Xs Int4 ]]) = [0,1,1,2,4,8,16,32,64,128,256,512,...]++length (list :: [ Xs Int4 ]) = Infinity++allUnique (list :: [ Xs Int4 ]) = True++ratioRepetitions (list :: [ Xs Int4 ]) = 0 % 1++tiers :: [Xs Int4] =+ [ []+ , [Xs []]+ , [Xs [0]]+ , [ Xs [0,0]+ , Xs [1]+ ]+ , [ Xs [0,0,0]+ , Xs [0,1]+ , Xs [1,0]+ , Xs [-1]+ ]+ , [ Xs [0,0,0,0]+ , Xs [0,0,1]+ , Xs [0,1,0]+ , Xs [0,-1]+ , Xs [1,0,0]+ , Xs [1,1]+ , Xs [-1,0]+ , Xs [7]+ ]+ , [ Xs [0,0,0,0,0]+ , Xs [0,0,0,1]+ , Xs [0,0,1,0]+ , Xs [0,0,-1]+ , Xs [0,1,0,0]+ , Xs [0,1,1]+ , Xs [0,-1,0]+ , Xs [0,7]+ , Xs [1,0,0,0]+ , Xs [1,0,1]+ , Xs [1,1,0]+ , Xs [1,-1]+ , Xs [-1,0,0]+ , Xs [-1,1]+ , Xs [7,0]+ , Xs [-8]+ ]+ , [ Xs [0,0,0,0,0,0]+ , Xs [0,0,0,0,1]+ , Xs [0,0,0,1,0]+ , Xs [0,0,0,-1]+ , Xs [0,0,1,0,0]+ , Xs [0,0,1,1]+ , Xs [0,0,-1,0]+ , Xs [0,0,7]+ , Xs [0,1,0,0,0]+ , Xs [0,1,0,1]+ , Xs [0,1,1,0]+ , Xs [0,1,-1]+ , Xs [0,-1,0,0]+ , Xs [0,-1,1]+ , Xs [0,7,0]+ , Xs [0,-8]+ , Xs [1,0,0,0,0]+ , Xs [1,0,0,1]+ , Xs [1,0,1,0]+ , Xs [1,0,-1]+ , Xs [1,1,0,0]+ , Xs [1,1,1]+ , Xs [1,-1,0]+ , Xs [1,7]+ , Xs [-1,0,0,0]+ , Xs [-1,0,1]+ , Xs [-1,1,0]+ , Xs [-1,-1]+ , Xs [7,0,0]+ , Xs [7,1]+ , Xs [-8,0]+ , Xs [2]+ ]+ , [ Xs [0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,1]+ , Xs [0,0,0,0,1,0]+ , Xs [0,0,0,0,-1]+ , Xs [0,0,0,1,0,0]+ , Xs [0,0,0,1,1]+ , Xs [0,0,0,-1,0]+ , Xs [0,0,0,7]+ , Xs [0,0,1,0,0,0]+ , Xs [0,0,1,0,1]+ , Xs [0,0,1,1,0]+ , Xs [0,0,1,-1]+ , Xs [0,0,-1,0,0]+ , Xs [0,0,-1,1]+ , Xs [0,0,7,0]+ , Xs [0,0,-8]+ , Xs [0,1,0,0,0,0]+ , Xs [0,1,0,0,1]+ , Xs [0,1,0,1,0]+ , Xs [0,1,0,-1]+ , Xs [0,1,1,0,0]+ , Xs [0,1,1,1]+ , Xs [0,1,-1,0]+ , Xs [0,1,7]+ , Xs [0,-1,0,0,0]+ , Xs [0,-1,0,1]+ , Xs [0,-1,1,0]+ , Xs [0,-1,-1]+ , Xs [0,7,0,0]+ , Xs [0,7,1]+ , Xs [0,-8,0]+ , Xs [0,2]+ , Xs [1,0,0,0,0,0]+ , Xs [1,0,0,0,1]+ , Xs [1,0,0,1,0]+ , Xs [1,0,0,-1]+ , Xs [1,0,1,0,0]+ , Xs [1,0,1,1]+ , Xs [1,0,-1,0]+ , Xs [1,0,7]+ , Xs [1,1,0,0,0]+ , Xs [1,1,0,1]+ , Xs [1,1,1,0]+ , Xs [1,1,-1]+ , Xs [1,-1,0,0]+ , Xs [1,-1,1]+ , Xs [1,7,0]+ , Xs [1,-8]+ , Xs [-1,0,0,0,0]+ , Xs [-1,0,0,1]+ , Xs [-1,0,1,0]+ , Xs [-1,0,-1]+ , Xs [-1,1,0,0]+ , Xs [-1,1,1]+ , Xs [-1,-1,0]+ , Xs [-1,7]+ , Xs [7,0,0,0]+ , Xs [7,0,1]+ , Xs [7,1,0]+ , Xs [7,-1]+ , Xs [-8,0,0]+ , Xs [-8,1]+ , Xs [2,0]+ , Xs [-2]+ ]+ , [ Xs [0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,-1]+ , Xs [0,0,0,0,1,0,0]+ , Xs [0,0,0,0,1,1]+ , Xs [0,0,0,0,-1,0]+ , Xs [0,0,0,0,7]+ , Xs [0,0,0,1,0,0,0]+ , Xs [0,0,0,1,0,1]+ , Xs [0,0,0,1,1,0]+ , Xs [0,0,0,1,-1]+ , Xs [0,0,0,-1,0,0]+ , Xs [0,0,0,-1,1]+ , Xs [0,0,0,7,0]+ , Xs [0,0,0,-8]+ , Xs [0,0,1,0,0,0,0]+ , Xs [0,0,1,0,0,1]+ , Xs [0,0,1,0,1,0]+ , Xs [0,0,1,0,-1]+ , Xs [0,0,1,1,0,0]+ , Xs [0,0,1,1,1]+ , Xs [0,0,1,-1,0]+ , Xs [0,0,1,7]+ , Xs [0,0,-1,0,0,0]+ , Xs [0,0,-1,0,1]+ , Xs [0,0,-1,1,0]+ , Xs [0,0,-1,-1]+ , Xs [0,0,7,0,0]+ , Xs [0,0,7,1]+ , Xs [0,0,-8,0]+ , Xs [0,0,2]+ , Xs [0,1,0,0,0,0,0]+ , Xs [0,1,0,0,0,1]+ , Xs [0,1,0,0,1,0]+ , Xs [0,1,0,0,-1]+ , Xs [0,1,0,1,0,0]+ , Xs [0,1,0,1,1]+ , Xs [0,1,0,-1,0]+ , Xs [0,1,0,7]+ , Xs [0,1,1,0,0,0]+ , Xs [0,1,1,0,1]+ , Xs [0,1,1,1,0]+ , Xs [0,1,1,-1]+ , Xs [0,1,-1,0,0]+ , Xs [0,1,-1,1]+ , Xs [0,1,7,0]+ , Xs [0,1,-8]+ , Xs [0,-1,0,0,0,0]+ , Xs [0,-1,0,0,1]+ , Xs [0,-1,0,1,0]+ , Xs [0,-1,0,-1]+ , Xs [0,-1,1,0,0]+ , Xs [0,-1,1,1]+ , Xs [0,-1,-1,0]+ , Xs [0,-1,7]+ , Xs [0,7,0,0,0]+ , Xs [0,7,0,1]+ , Xs [0,7,1,0]+ , Xs [0,7,-1]+ , Xs [0,-8,0,0]+ , Xs [0,-8,1]+ , Xs [0,2,0]+ , Xs [0,-2]+ , Xs [1,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,1]+ , Xs [1,0,0,0,1,0]+ , Xs [1,0,0,0,-1]+ , Xs [1,0,0,1,0,0]+ , Xs [1,0,0,1,1]+ , Xs [1,0,0,-1,0]+ , Xs [1,0,0,7]+ , Xs [1,0,1,0,0,0]+ , Xs [1,0,1,0,1]+ , Xs [1,0,1,1,0]+ , Xs [1,0,1,-1]+ , Xs [1,0,-1,0,0]+ , Xs [1,0,-1,1]+ , Xs [1,0,7,0]+ , Xs [1,0,-8]+ , Xs [1,1,0,0,0,0]+ , Xs [1,1,0,0,1]+ , Xs [1,1,0,1,0]+ , Xs [1,1,0,-1]+ , Xs [1,1,1,0,0]+ , Xs [1,1,1,1]+ , Xs [1,1,-1,0]+ , Xs [1,1,7]+ , Xs [1,-1,0,0,0]+ , Xs [1,-1,0,1]+ , Xs [1,-1,1,0]+ , Xs [1,-1,-1]+ , Xs [1,7,0,0]+ , Xs [1,7,1]+ , Xs [1,-8,0]+ , Xs [1,2]+ , Xs [-1,0,0,0,0,0]+ , Xs [-1,0,0,0,1]+ , Xs [-1,0,0,1,0]+ , Xs [-1,0,0,-1]+ , Xs [-1,0,1,0,0]+ , Xs [-1,0,1,1]+ , Xs [-1,0,-1,0]+ , Xs [-1,0,7]+ , Xs [-1,1,0,0,0]+ , Xs [-1,1,0,1]+ , Xs [-1,1,1,0]+ , Xs [-1,1,-1]+ , Xs [-1,-1,0,0]+ , Xs [-1,-1,1]+ , Xs [-1,7,0]+ , Xs [-1,-8]+ , Xs [7,0,0,0,0]+ , Xs [7,0,0,1]+ , Xs [7,0,1,0]+ , Xs [7,0,-1]+ , Xs [7,1,0,0]+ , Xs [7,1,1]+ , Xs [7,-1,0]+ , Xs [7,7]+ , Xs [-8,0,0,0]+ , Xs [-8,0,1]+ , Xs [-8,1,0]+ , Xs [-8,-1]+ , Xs [2,0,0]+ , Xs [2,1]+ , Xs [-2,0]+ , Xs [6]+ ]+ , [ Xs [0,0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,0,-1]+ , Xs [0,0,0,0,0,1,0,0]+ , Xs [0,0,0,0,0,1,1]+ , Xs [0,0,0,0,0,-1,0]+ , Xs [0,0,0,0,0,7]+ , Xs [0,0,0,0,1,0,0,0]+ , Xs [0,0,0,0,1,0,1]+ , Xs [0,0,0,0,1,1,0]+ , Xs [0,0,0,0,1,-1]+ , Xs [0,0,0,0,-1,0,0]+ , Xs [0,0,0,0,-1,1]+ , Xs [0,0,0,0,7,0]+ , Xs [0,0,0,0,-8]+ , Xs [0,0,0,1,0,0,0,0]+ , Xs [0,0,0,1,0,0,1]+ , Xs [0,0,0,1,0,1,0]+ , Xs [0,0,0,1,0,-1]+ , Xs [0,0,0,1,1,0,0]+ , Xs [0,0,0,1,1,1]+ , Xs [0,0,0,1,-1,0]+ , Xs [0,0,0,1,7]+ , Xs [0,0,0,-1,0,0,0]+ , Xs [0,0,0,-1,0,1]+ , Xs [0,0,0,-1,1,0]+ , Xs [0,0,0,-1,-1]+ , Xs [0,0,0,7,0,0]+ , Xs [0,0,0,7,1]+ , Xs [0,0,0,-8,0]+ , Xs [0,0,0,2]+ , Xs [0,0,1,0,0,0,0,0]+ , Xs [0,0,1,0,0,0,1]+ , Xs [0,0,1,0,0,1,0]+ , Xs [0,0,1,0,0,-1]+ , Xs [0,0,1,0,1,0,0]+ , Xs [0,0,1,0,1,1]+ , Xs [0,0,1,0,-1,0]+ , Xs [0,0,1,0,7]+ , Xs [0,0,1,1,0,0,0]+ , Xs [0,0,1,1,0,1]+ , Xs [0,0,1,1,1,0]+ , Xs [0,0,1,1,-1]+ , Xs [0,0,1,-1,0,0]+ , Xs [0,0,1,-1,1]+ , Xs [0,0,1,7,0]+ , Xs [0,0,1,-8]+ , Xs [0,0,-1,0,0,0,0]+ , Xs [0,0,-1,0,0,1]+ , Xs [0,0,-1,0,1,0]+ , Xs [0,0,-1,0,-1]+ , Xs [0,0,-1,1,0,0]+ , Xs [0,0,-1,1,1]+ , Xs [0,0,-1,-1,0]+ , Xs [0,0,-1,7]+ , Xs [0,0,7,0,0,0]+ , Xs [0,0,7,0,1]+ , Xs [0,0,7,1,0]+ , Xs [0,0,7,-1]+ , Xs [0,0,-8,0,0]+ , Xs [0,0,-8,1]+ , Xs [0,0,2,0]+ , Xs [0,0,-2]+ , Xs [0,1,0,0,0,0,0,0]+ , Xs [0,1,0,0,0,0,1]+ , Xs [0,1,0,0,0,1,0]+ , Xs [0,1,0,0,0,-1]+ , Xs [0,1,0,0,1,0,0]+ , Xs [0,1,0,0,1,1]+ , Xs [0,1,0,0,-1,0]+ , Xs [0,1,0,0,7]+ , Xs [0,1,0,1,0,0,0]+ , Xs [0,1,0,1,0,1]+ , Xs [0,1,0,1,1,0]+ , Xs [0,1,0,1,-1]+ , Xs [0,1,0,-1,0,0]+ , Xs [0,1,0,-1,1]+ , Xs [0,1,0,7,0]+ , Xs [0,1,0,-8]+ , Xs [0,1,1,0,0,0,0]+ , Xs [0,1,1,0,0,1]+ , Xs [0,1,1,0,1,0]+ , Xs [0,1,1,0,-1]+ , Xs [0,1,1,1,0,0]+ , Xs [0,1,1,1,1]+ , Xs [0,1,1,-1,0]+ , Xs [0,1,1,7]+ , Xs [0,1,-1,0,0,0]+ , Xs [0,1,-1,0,1]+ , Xs [0,1,-1,1,0]+ , Xs [0,1,-1,-1]+ , Xs [0,1,7,0,0]+ , Xs [0,1,7,1]+ , Xs [0,1,-8,0]+ , Xs [0,1,2]+ , Xs [0,-1,0,0,0,0,0]+ , Xs [0,-1,0,0,0,1]+ , Xs [0,-1,0,0,1,0]+ , Xs [0,-1,0,0,-1]+ , Xs [0,-1,0,1,0,0]+ , Xs [0,-1,0,1,1]+ , Xs [0,-1,0,-1,0]+ , Xs [0,-1,0,7]+ , Xs [0,-1,1,0,0,0]+ , Xs [0,-1,1,0,1]+ , Xs [0,-1,1,1,0]+ , Xs [0,-1,1,-1]+ , Xs [0,-1,-1,0,0]+ , Xs [0,-1,-1,1]+ , Xs [0,-1,7,0]+ , Xs [0,-1,-8]+ , Xs [0,7,0,0,0,0]+ , Xs [0,7,0,0,1]+ , Xs [0,7,0,1,0]+ , Xs [0,7,0,-1]+ , Xs [0,7,1,0,0]+ , Xs [0,7,1,1]+ , Xs [0,7,-1,0]+ , Xs [0,7,7]+ , Xs [0,-8,0,0,0]+ , Xs [0,-8,0,1]+ , Xs [0,-8,1,0]+ , Xs [0,-8,-1]+ , Xs [0,2,0,0]+ , Xs [0,2,1]+ , Xs [0,-2,0]+ , Xs [0,6]+ , Xs [1,0,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,0,1]+ , Xs [1,0,0,0,0,1,0]+ , Xs [1,0,0,0,0,-1]+ , Xs [1,0,0,0,1,0,0]+ , Xs [1,0,0,0,1,1]+ , Xs [1,0,0,0,-1,0]+ , Xs [1,0,0,0,7]+ , Xs [1,0,0,1,0,0,0]+ , Xs [1,0,0,1,0,1]+ , Xs [1,0,0,1,1,0]+ , Xs [1,0,0,1,-1]+ , Xs [1,0,0,-1,0,0]+ , Xs [1,0,0,-1,1]+ , Xs [1,0,0,7,0]+ , Xs [1,0,0,-8]+ , Xs [1,0,1,0,0,0,0]+ , Xs [1,0,1,0,0,1]+ , Xs [1,0,1,0,1,0]+ , Xs [1,0,1,0,-1]+ , Xs [1,0,1,1,0,0]+ , Xs [1,0,1,1,1]+ , Xs [1,0,1,-1,0]+ , Xs [1,0,1,7]+ , Xs [1,0,-1,0,0,0]+ , Xs [1,0,-1,0,1]+ , Xs [1,0,-1,1,0]+ , Xs [1,0,-1,-1]+ , Xs [1,0,7,0,0]+ , Xs [1,0,7,1]+ , Xs [1,0,-8,0]+ , Xs [1,0,2]+ , Xs [1,1,0,0,0,0,0]+ , Xs [1,1,0,0,0,1]+ , Xs [1,1,0,0,1,0]+ , Xs [1,1,0,0,-1]+ , Xs [1,1,0,1,0,0]+ , Xs [1,1,0,1,1]+ , Xs [1,1,0,-1,0]+ , Xs [1,1,0,7]+ , Xs [1,1,1,0,0,0]+ , Xs [1,1,1,0,1]+ , Xs [1,1,1,1,0]+ , Xs [1,1,1,-1]+ , Xs [1,1,-1,0,0]+ , Xs [1,1,-1,1]+ , Xs [1,1,7,0]+ , Xs [1,1,-8]+ , Xs [1,-1,0,0,0,0]+ , Xs [1,-1,0,0,1]+ , Xs [1,-1,0,1,0]+ , Xs [1,-1,0,-1]+ , Xs [1,-1,1,0,0]+ , Xs [1,-1,1,1]+ , Xs [1,-1,-1,0]+ , Xs [1,-1,7]+ , Xs [1,7,0,0,0]+ , Xs [1,7,0,1]+ , Xs [1,7,1,0]+ , Xs [1,7,-1]+ , Xs [1,-8,0,0]+ , Xs [1,-8,1]+ , Xs [1,2,0]+ , Xs [1,-2]+ , Xs [-1,0,0,0,0,0,0]+ , Xs [-1,0,0,0,0,1]+ , Xs [-1,0,0,0,1,0]+ , Xs [-1,0,0,0,-1]+ , Xs [-1,0,0,1,0,0]+ , Xs [-1,0,0,1,1]+ , Xs [-1,0,0,-1,0]+ , Xs [-1,0,0,7]+ , Xs [-1,0,1,0,0,0]+ , Xs [-1,0,1,0,1]+ , Xs [-1,0,1,1,0]+ , Xs [-1,0,1,-1]+ , Xs [-1,0,-1,0,0]+ , Xs [-1,0,-1,1]+ , Xs [-1,0,7,0]+ , Xs [-1,0,-8]+ , Xs [-1,1,0,0,0,0]+ , Xs [-1,1,0,0,1]+ , Xs [-1,1,0,1,0]+ , Xs [-1,1,0,-1]+ , Xs [-1,1,1,0,0]+ , Xs [-1,1,1,1]+ , Xs [-1,1,-1,0]+ , Xs [-1,1,7]+ , Xs [-1,-1,0,0,0]+ , Xs [-1,-1,0,1]+ , Xs [-1,-1,1,0]+ , Xs [-1,-1,-1]+ , Xs [-1,7,0,0]+ , Xs [-1,7,1]+ , Xs [-1,-8,0]+ , Xs [-1,2]+ , Xs [7,0,0,0,0,0]+ , Xs [7,0,0,0,1]+ , Xs [7,0,0,1,0]+ , Xs [7,0,0,-1]+ , Xs [7,0,1,0,0]+ , Xs [7,0,1,1]+ , Xs [7,0,-1,0]+ , Xs [7,0,7]+ , Xs [7,1,0,0,0]+ , Xs [7,1,0,1]+ , Xs [7,1,1,0]+ , Xs [7,1,-1]+ , Xs [7,-1,0,0]+ , Xs [7,-1,1]+ , Xs [7,7,0]+ , Xs [7,-8]+ , Xs [-8,0,0,0,0]+ , Xs [-8,0,0,1]+ , Xs [-8,0,1,0]+ , Xs [-8,0,-1]+ , Xs [-8,1,0,0]+ , Xs [-8,1,1]+ , Xs [-8,-1,0]+ , Xs [-8,7]+ , Xs [2,0,0,0]+ , Xs [2,0,1]+ , Xs [2,1,0]+ , Xs [2,-1]+ , Xs [-2,0,0]+ , Xs [-2,1]+ , Xs [6,0]+ , Xs [-7]+ ]+ , [ Xs [0,0,0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,0,0,-1]+ , Xs [0,0,0,0,0,0,1,0,0]+ , Xs [0,0,0,0,0,0,1,1]+ , Xs [0,0,0,0,0,0,-1,0]+ , Xs [0,0,0,0,0,0,7]+ , Xs [0,0,0,0,0,1,0,0,0]+ , Xs [0,0,0,0,0,1,0,1]+ , Xs [0,0,0,0,0,1,1,0]+ , Xs [0,0,0,0,0,1,-1]+ , Xs [0,0,0,0,0,-1,0,0]+ , Xs [0,0,0,0,0,-1,1]+ , Xs [0,0,0,0,0,7,0]+ , Xs [0,0,0,0,0,-8]+ , Xs [0,0,0,0,1,0,0,0,0]+ , Xs [0,0,0,0,1,0,0,1]+ , Xs [0,0,0,0,1,0,1,0]+ , Xs [0,0,0,0,1,0,-1]+ , Xs [0,0,0,0,1,1,0,0]+ , Xs [0,0,0,0,1,1,1]+ , Xs [0,0,0,0,1,-1,0]+ , Xs [0,0,0,0,1,7]+ , Xs [0,0,0,0,-1,0,0,0]+ , Xs [0,0,0,0,-1,0,1]+ , Xs [0,0,0,0,-1,1,0]+ , Xs [0,0,0,0,-1,-1]+ , Xs [0,0,0,0,7,0,0]+ , Xs [0,0,0,0,7,1]+ , Xs [0,0,0,0,-8,0]+ , Xs [0,0,0,0,2]+ , Xs [0,0,0,1,0,0,0,0,0]+ , Xs [0,0,0,1,0,0,0,1]+ , Xs [0,0,0,1,0,0,1,0]+ , Xs [0,0,0,1,0,0,-1]+ , Xs [0,0,0,1,0,1,0,0]+ , Xs [0,0,0,1,0,1,1]+ , Xs [0,0,0,1,0,-1,0]+ , Xs [0,0,0,1,0,7]+ , Xs [0,0,0,1,1,0,0,0]+ , Xs [0,0,0,1,1,0,1]+ , Xs [0,0,0,1,1,1,0]+ , Xs [0,0,0,1,1,-1]+ , Xs [0,0,0,1,-1,0,0]+ , Xs [0,0,0,1,-1,1]+ , Xs [0,0,0,1,7,0]+ , Xs [0,0,0,1,-8]+ , Xs [0,0,0,-1,0,0,0,0]+ , Xs [0,0,0,-1,0,0,1]+ , Xs [0,0,0,-1,0,1,0]+ , Xs [0,0,0,-1,0,-1]+ , Xs [0,0,0,-1,1,0,0]+ , Xs [0,0,0,-1,1,1]+ , Xs [0,0,0,-1,-1,0]+ , Xs [0,0,0,-1,7]+ , Xs [0,0,0,7,0,0,0]+ , Xs [0,0,0,7,0,1]+ , Xs [0,0,0,7,1,0]+ , Xs [0,0,0,7,-1]+ , Xs [0,0,0,-8,0,0]+ , Xs [0,0,0,-8,1]+ , Xs [0,0,0,2,0]+ , Xs [0,0,0,-2]+ , Xs [0,0,1,0,0,0,0,0,0]+ , Xs [0,0,1,0,0,0,0,1]+ , Xs [0,0,1,0,0,0,1,0]+ , Xs [0,0,1,0,0,0,-1]+ , Xs [0,0,1,0,0,1,0,0]+ , Xs [0,0,1,0,0,1,1]+ , Xs [0,0,1,0,0,-1,0]+ , Xs [0,0,1,0,0,7]+ , Xs [0,0,1,0,1,0,0,0]+ , Xs [0,0,1,0,1,0,1]+ , Xs [0,0,1,0,1,1,0]+ , Xs [0,0,1,0,1,-1]+ , Xs [0,0,1,0,-1,0,0]+ , Xs [0,0,1,0,-1,1]+ , Xs [0,0,1,0,7,0]+ , Xs [0,0,1,0,-8]+ , Xs [0,0,1,1,0,0,0,0]+ , Xs [0,0,1,1,0,0,1]+ , Xs [0,0,1,1,0,1,0]+ , Xs [0,0,1,1,0,-1]+ , Xs [0,0,1,1,1,0,0]+ , Xs [0,0,1,1,1,1]+ , Xs [0,0,1,1,-1,0]+ , Xs [0,0,1,1,7]+ , Xs [0,0,1,-1,0,0,0]+ , Xs [0,0,1,-1,0,1]+ , Xs [0,0,1,-1,1,0]+ , Xs [0,0,1,-1,-1]+ , Xs [0,0,1,7,0,0]+ , Xs [0,0,1,7,1]+ , Xs [0,0,1,-8,0]+ , Xs [0,0,1,2]+ , Xs [0,0,-1,0,0,0,0,0]+ , Xs [0,0,-1,0,0,0,1]+ , Xs [0,0,-1,0,0,1,0]+ , Xs [0,0,-1,0,0,-1]+ , Xs [0,0,-1,0,1,0,0]+ , Xs [0,0,-1,0,1,1]+ , Xs [0,0,-1,0,-1,0]+ , Xs [0,0,-1,0,7]+ , Xs [0,0,-1,1,0,0,0]+ , Xs [0,0,-1,1,0,1]+ , Xs [0,0,-1,1,1,0]+ , Xs [0,0,-1,1,-1]+ , Xs [0,0,-1,-1,0,0]+ , Xs [0,0,-1,-1,1]+ , Xs [0,0,-1,7,0]+ , Xs [0,0,-1,-8]+ , Xs [0,0,7,0,0,0,0]+ , Xs [0,0,7,0,0,1]+ , Xs [0,0,7,0,1,0]+ , Xs [0,0,7,0,-1]+ , Xs [0,0,7,1,0,0]+ , Xs [0,0,7,1,1]+ , Xs [0,0,7,-1,0]+ , Xs [0,0,7,7]+ , Xs [0,0,-8,0,0,0]+ , Xs [0,0,-8,0,1]+ , Xs [0,0,-8,1,0]+ , Xs [0,0,-8,-1]+ , Xs [0,0,2,0,0]+ , Xs [0,0,2,1]+ , Xs [0,0,-2,0]+ , Xs [0,0,6]+ , Xs [0,1,0,0,0,0,0,0,0]+ , Xs [0,1,0,0,0,0,0,1]+ , Xs [0,1,0,0,0,0,1,0]+ , Xs [0,1,0,0,0,0,-1]+ , Xs [0,1,0,0,0,1,0,0]+ , Xs [0,1,0,0,0,1,1]+ , Xs [0,1,0,0,0,-1,0]+ , Xs [0,1,0,0,0,7]+ , Xs [0,1,0,0,1,0,0,0]+ , Xs [0,1,0,0,1,0,1]+ , Xs [0,1,0,0,1,1,0]+ , Xs [0,1,0,0,1,-1]+ , Xs [0,1,0,0,-1,0,0]+ , Xs [0,1,0,0,-1,1]+ , Xs [0,1,0,0,7,0]+ , Xs [0,1,0,0,-8]+ , Xs [0,1,0,1,0,0,0,0]+ , Xs [0,1,0,1,0,0,1]+ , Xs [0,1,0,1,0,1,0]+ , Xs [0,1,0,1,0,-1]+ , Xs [0,1,0,1,1,0,0]+ , Xs [0,1,0,1,1,1]+ , Xs [0,1,0,1,-1,0]+ , Xs [0,1,0,1,7]+ , Xs [0,1,0,-1,0,0,0]+ , Xs [0,1,0,-1,0,1]+ , Xs [0,1,0,-1,1,0]+ , Xs [0,1,0,-1,-1]+ , Xs [0,1,0,7,0,0]+ , Xs [0,1,0,7,1]+ , Xs [0,1,0,-8,0]+ , Xs [0,1,0,2]+ , Xs [0,1,1,0,0,0,0,0]+ , Xs [0,1,1,0,0,0,1]+ , Xs [0,1,1,0,0,1,0]+ , Xs [0,1,1,0,0,-1]+ , Xs [0,1,1,0,1,0,0]+ , Xs [0,1,1,0,1,1]+ , Xs [0,1,1,0,-1,0]+ , Xs [0,1,1,0,7]+ , Xs [0,1,1,1,0,0,0]+ , Xs [0,1,1,1,0,1]+ , Xs [0,1,1,1,1,0]+ , Xs [0,1,1,1,-1]+ , Xs [0,1,1,-1,0,0]+ , Xs [0,1,1,-1,1]+ , Xs [0,1,1,7,0]+ , Xs [0,1,1,-8]+ , Xs [0,1,-1,0,0,0,0]+ , Xs [0,1,-1,0,0,1]+ , Xs [0,1,-1,0,1,0]+ , Xs [0,1,-1,0,-1]+ , Xs [0,1,-1,1,0,0]+ , Xs [0,1,-1,1,1]+ , Xs [0,1,-1,-1,0]+ , Xs [0,1,-1,7]+ , Xs [0,1,7,0,0,0]+ , Xs [0,1,7,0,1]+ , Xs [0,1,7,1,0]+ , Xs [0,1,7,-1]+ , Xs [0,1,-8,0,0]+ , Xs [0,1,-8,1]+ , Xs [0,1,2,0]+ , Xs [0,1,-2]+ , Xs [0,-1,0,0,0,0,0,0]+ , Xs [0,-1,0,0,0,0,1]+ , Xs [0,-1,0,0,0,1,0]+ , Xs [0,-1,0,0,0,-1]+ , Xs [0,-1,0,0,1,0,0]+ , Xs [0,-1,0,0,1,1]+ , Xs [0,-1,0,0,-1,0]+ , Xs [0,-1,0,0,7]+ , Xs [0,-1,0,1,0,0,0]+ , Xs [0,-1,0,1,0,1]+ , Xs [0,-1,0,1,1,0]+ , Xs [0,-1,0,1,-1]+ , Xs [0,-1,0,-1,0,0]+ , Xs [0,-1,0,-1,1]+ , Xs [0,-1,0,7,0]+ , Xs [0,-1,0,-8]+ , Xs [0,-1,1,0,0,0,0]+ , Xs [0,-1,1,0,0,1]+ , Xs [0,-1,1,0,1,0]+ , Xs [0,-1,1,0,-1]+ , Xs [0,-1,1,1,0,0]+ , Xs [0,-1,1,1,1]+ , Xs [0,-1,1,-1,0]+ , Xs [0,-1,1,7]+ , Xs [0,-1,-1,0,0,0]+ , Xs [0,-1,-1,0,1]+ , Xs [0,-1,-1,1,0]+ , Xs [0,-1,-1,-1]+ , Xs [0,-1,7,0,0]+ , Xs [0,-1,7,1]+ , Xs [0,-1,-8,0]+ , Xs [0,-1,2]+ , Xs [0,7,0,0,0,0,0]+ , Xs [0,7,0,0,0,1]+ , Xs [0,7,0,0,1,0]+ , Xs [0,7,0,0,-1]+ , Xs [0,7,0,1,0,0]+ , Xs [0,7,0,1,1]+ , Xs [0,7,0,-1,0]+ , Xs [0,7,0,7]+ , Xs [0,7,1,0,0,0]+ , Xs [0,7,1,0,1]+ , Xs [0,7,1,1,0]+ , Xs [0,7,1,-1]+ , Xs [0,7,-1,0,0]+ , Xs [0,7,-1,1]+ , Xs [0,7,7,0]+ , Xs [0,7,-8]+ , Xs [0,-8,0,0,0,0]+ , Xs [0,-8,0,0,1]+ , Xs [0,-8,0,1,0]+ , Xs [0,-8,0,-1]+ , Xs [0,-8,1,0,0]+ , Xs [0,-8,1,1]+ , Xs [0,-8,-1,0]+ , Xs [0,-8,7]+ , Xs [0,2,0,0,0]+ , Xs [0,2,0,1]+ , Xs [0,2,1,0]+ , Xs [0,2,-1]+ , Xs [0,-2,0,0]+ , Xs [0,-2,1]+ , Xs [0,6,0]+ , Xs [0,-7]+ , Xs [1,0,0,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,0,0,1]+ , Xs [1,0,0,0,0,0,1,0]+ , Xs [1,0,0,0,0,0,-1]+ , Xs [1,0,0,0,0,1,0,0]+ , Xs [1,0,0,0,0,1,1]+ , Xs [1,0,0,0,0,-1,0]+ , Xs [1,0,0,0,0,7]+ , Xs [1,0,0,0,1,0,0,0]+ , Xs [1,0,0,0,1,0,1]+ , Xs [1,0,0,0,1,1,0]+ , Xs [1,0,0,0,1,-1]+ , Xs [1,0,0,0,-1,0,0]+ , Xs [1,0,0,0,-1,1]+ , Xs [1,0,0,0,7,0]+ , Xs [1,0,0,0,-8]+ , Xs [1,0,0,1,0,0,0,0]+ , Xs [1,0,0,1,0,0,1]+ , Xs [1,0,0,1,0,1,0]+ , Xs [1,0,0,1,0,-1]+ , Xs [1,0,0,1,1,0,0]+ , Xs [1,0,0,1,1,1]+ , Xs [1,0,0,1,-1,0]+ , Xs [1,0,0,1,7]+ , Xs [1,0,0,-1,0,0,0]+ , Xs [1,0,0,-1,0,1]+ , Xs [1,0,0,-1,1,0]+ , Xs [1,0,0,-1,-1]+ , Xs [1,0,0,7,0,0]+ , Xs [1,0,0,7,1]+ , Xs [1,0,0,-8,0]+ , Xs [1,0,0,2]+ , Xs [1,0,1,0,0,0,0,0]+ , Xs [1,0,1,0,0,0,1]+ , Xs [1,0,1,0,0,1,0]+ , Xs [1,0,1,0,0,-1]+ , Xs [1,0,1,0,1,0,0]+ , Xs [1,0,1,0,1,1]+ , Xs [1,0,1,0,-1,0]+ , Xs [1,0,1,0,7]+ , Xs [1,0,1,1,0,0,0]+ , Xs [1,0,1,1,0,1]+ , Xs [1,0,1,1,1,0]+ , Xs [1,0,1,1,-1]+ , Xs [1,0,1,-1,0,0]+ , Xs [1,0,1,-1,1]+ , Xs [1,0,1,7,0]+ , Xs [1,0,1,-8]+ , Xs [1,0,-1,0,0,0,0]+ , Xs [1,0,-1,0,0,1]+ , Xs [1,0,-1,0,1,0]+ , Xs [1,0,-1,0,-1]+ , Xs [1,0,-1,1,0,0]+ , Xs [1,0,-1,1,1]+ , Xs [1,0,-1,-1,0]+ , Xs [1,0,-1,7]+ , Xs [1,0,7,0,0,0]+ , Xs [1,0,7,0,1]+ , Xs [1,0,7,1,0]+ , Xs [1,0,7,-1]+ , Xs [1,0,-8,0,0]+ , Xs [1,0,-8,1]+ , Xs [1,0,2,0]+ , Xs [1,0,-2]+ , Xs [1,1,0,0,0,0,0,0]+ , Xs [1,1,0,0,0,0,1]+ , Xs [1,1,0,0,0,1,0]+ , Xs [1,1,0,0,0,-1]+ , Xs [1,1,0,0,1,0,0]+ , Xs [1,1,0,0,1,1]+ , Xs [1,1,0,0,-1,0]+ , Xs [1,1,0,0,7]+ , Xs [1,1,0,1,0,0,0]+ , Xs [1,1,0,1,0,1]+ , Xs [1,1,0,1,1,0]+ , Xs [1,1,0,1,-1]+ , Xs [1,1,0,-1,0,0]+ , Xs [1,1,0,-1,1]+ , Xs [1,1,0,7,0]+ , Xs [1,1,0,-8]+ , Xs [1,1,1,0,0,0,0]+ , Xs [1,1,1,0,0,1]+ , Xs [1,1,1,0,1,0]+ , Xs [1,1,1,0,-1]+ , Xs [1,1,1,1,0,0]+ , Xs [1,1,1,1,1]+ , Xs [1,1,1,-1,0]+ , Xs [1,1,1,7]+ , Xs [1,1,-1,0,0,0]+ , Xs [1,1,-1,0,1]+ , Xs [1,1,-1,1,0]+ , Xs [1,1,-1,-1]+ , Xs [1,1,7,0,0]+ , Xs [1,1,7,1]+ , Xs [1,1,-8,0]+ , Xs [1,1,2]+ , Xs [1,-1,0,0,0,0,0]+ , Xs [1,-1,0,0,0,1]+ , Xs [1,-1,0,0,1,0]+ , Xs [1,-1,0,0,-1]+ , Xs [1,-1,0,1,0,0]+ , Xs [1,-1,0,1,1]+ , Xs [1,-1,0,-1,0]+ , Xs [1,-1,0,7]+ , Xs [1,-1,1,0,0,0]+ , Xs [1,-1,1,0,1]+ , Xs [1,-1,1,1,0]+ , Xs [1,-1,1,-1]+ , Xs [1,-1,-1,0,0]+ , Xs [1,-1,-1,1]+ , Xs [1,-1,7,0]+ , Xs [1,-1,-8]+ , Xs [1,7,0,0,0,0]+ , Xs [1,7,0,0,1]+ , Xs [1,7,0,1,0]+ , Xs [1,7,0,-1]+ , Xs [1,7,1,0,0]+ , Xs [1,7,1,1]+ , Xs [1,7,-1,0]+ , Xs [1,7,7]+ , Xs [1,-8,0,0,0]+ , Xs [1,-8,0,1]+ , Xs [1,-8,1,0]+ , Xs [1,-8,-1]+ , Xs [1,2,0,0]+ , Xs [1,2,1]+ , Xs [1,-2,0]+ , Xs [1,6]+ , Xs [-1,0,0,0,0,0,0,0]+ , Xs [-1,0,0,0,0,0,1]+ , Xs [-1,0,0,0,0,1,0]+ , Xs [-1,0,0,0,0,-1]+ , Xs [-1,0,0,0,1,0,0]+ , Xs [-1,0,0,0,1,1]+ , Xs [-1,0,0,0,-1,0]+ , Xs [-1,0,0,0,7]+ , Xs [-1,0,0,1,0,0,0]+ , Xs [-1,0,0,1,0,1]+ , Xs [-1,0,0,1,1,0]+ , Xs [-1,0,0,1,-1]+ , Xs [-1,0,0,-1,0,0]+ , Xs [-1,0,0,-1,1]+ , Xs [-1,0,0,7,0]+ , Xs [-1,0,0,-8]+ , Xs [-1,0,1,0,0,0,0]+ , Xs [-1,0,1,0,0,1]+ , Xs [-1,0,1,0,1,0]+ , Xs [-1,0,1,0,-1]+ , Xs [-1,0,1,1,0,0]+ , Xs [-1,0,1,1,1]+ , Xs [-1,0,1,-1,0]+ , Xs [-1,0,1,7]+ , Xs [-1,0,-1,0,0,0]+ , Xs [-1,0,-1,0,1]+ , Xs [-1,0,-1,1,0]+ , Xs [-1,0,-1,-1]+ , Xs [-1,0,7,0,0]+ , Xs [-1,0,7,1]+ , Xs [-1,0,-8,0]+ , Xs [-1,0,2]+ , Xs [-1,1,0,0,0,0,0]+ , Xs [-1,1,0,0,0,1]+ , Xs [-1,1,0,0,1,0]+ , Xs [-1,1,0,0,-1]+ , Xs [-1,1,0,1,0,0]+ , Xs [-1,1,0,1,1]+ , Xs [-1,1,0,-1,0]+ , Xs [-1,1,0,7]+ , Xs [-1,1,1,0,0,0]+ , Xs [-1,1,1,0,1]+ , Xs [-1,1,1,1,0]+ , Xs [-1,1,1,-1]+ , Xs [-1,1,-1,0,0]+ , Xs [-1,1,-1,1]+ , Xs [-1,1,7,0]+ , Xs [-1,1,-8]+ , Xs [-1,-1,0,0,0,0]+ , Xs [-1,-1,0,0,1]+ , Xs [-1,-1,0,1,0]+ , Xs [-1,-1,0,-1]+ , Xs [-1,-1,1,0,0]+ , Xs [-1,-1,1,1]+ , Xs [-1,-1,-1,0]+ , Xs [-1,-1,7]+ , Xs [-1,7,0,0,0]+ , Xs [-1,7,0,1]+ , Xs [-1,7,1,0]+ , Xs [-1,7,-1]+ , Xs [-1,-8,0,0]+ , Xs [-1,-8,1]+ , Xs [-1,2,0]+ , Xs [-1,-2]+ , Xs [7,0,0,0,0,0,0]+ , Xs [7,0,0,0,0,1]+ , Xs [7,0,0,0,1,0]+ , Xs [7,0,0,0,-1]+ , Xs [7,0,0,1,0,0]+ , Xs [7,0,0,1,1]+ , Xs [7,0,0,-1,0]+ , Xs [7,0,0,7]+ , Xs [7,0,1,0,0,0]+ , Xs [7,0,1,0,1]+ , Xs [7,0,1,1,0]+ , Xs [7,0,1,-1]+ , Xs [7,0,-1,0,0]+ , Xs [7,0,-1,1]+ , Xs [7,0,7,0]+ , Xs [7,0,-8]+ , Xs [7,1,0,0,0,0]+ , Xs [7,1,0,0,1]+ , Xs [7,1,0,1,0]+ , Xs [7,1,0,-1]+ , Xs [7,1,1,0,0]+ , Xs [7,1,1,1]+ , Xs [7,1,-1,0]+ , Xs [7,1,7]+ , Xs [7,-1,0,0,0]+ , Xs [7,-1,0,1]+ , Xs [7,-1,1,0]+ , Xs [7,-1,-1]+ , Xs [7,7,0,0]+ , Xs [7,7,1]+ , Xs [7,-8,0]+ , Xs [7,2]+ , Xs [-8,0,0,0,0,0]+ , Xs [-8,0,0,0,1]+ , Xs [-8,0,0,1,0]+ , Xs [-8,0,0,-1]+ , Xs [-8,0,1,0,0]+ , Xs [-8,0,1,1]+ , Xs [-8,0,-1,0]+ , Xs [-8,0,7]+ , Xs [-8,1,0,0,0]+ , Xs [-8,1,0,1]+ , Xs [-8,1,1,0]+ , Xs [-8,1,-1]+ , Xs [-8,-1,0,0]+ , Xs [-8,-1,1]+ , Xs [-8,7,0]+ , Xs [-8,-8]+ , Xs [2,0,0,0,0]+ , Xs [2,0,0,1]+ , Xs [2,0,1,0]+ , Xs [2,0,-1]+ , Xs [2,1,0,0]+ , Xs [2,1,1]+ , Xs [2,-1,0]+ , Xs [2,7]+ , Xs [-2,0,0,0]+ , Xs [-2,0,1]+ , Xs [-2,1,0]+ , Xs [-2,-1]+ , Xs [6,0,0]+ , Xs [6,1]+ , Xs [-7,0]+ , Xs [3]+ ]+ , ...+ ]
+ test/diff/tiers-XsNat7.out view
@@ -0,0 +1,1033 @@+map length (tiers :: [[ Xs Nat7 ]]) = [0,1,1,2,4,8,16,32,64,127,253,504,...]++length (list :: [ Xs Nat7 ]) = Infinity++allUnique (list :: [ Xs Nat7 ]) = True++ratioRepetitions (list :: [ Xs Nat7 ]) = 0 % 1++tiers :: [Xs Nat7] =+ [ []+ , [Xs []]+ , [Xs [0]]+ , [ Xs [0,0]+ , Xs [1]+ ]+ , [ Xs [0,0,0]+ , Xs [0,1]+ , Xs [1,0]+ , Xs [2]+ ]+ , [ Xs [0,0,0,0]+ , Xs [0,0,1]+ , Xs [0,1,0]+ , Xs [0,2]+ , Xs [1,0,0]+ , Xs [1,1]+ , Xs [2,0]+ , Xs [6]+ ]+ , [ Xs [0,0,0,0,0]+ , Xs [0,0,0,1]+ , Xs [0,0,1,0]+ , Xs [0,0,2]+ , Xs [0,1,0,0]+ , Xs [0,1,1]+ , Xs [0,2,0]+ , Xs [0,6]+ , Xs [1,0,0,0]+ , Xs [1,0,1]+ , Xs [1,1,0]+ , Xs [1,2]+ , Xs [2,0,0]+ , Xs [2,1]+ , Xs [6,0]+ , Xs [3]+ ]+ , [ Xs [0,0,0,0,0,0]+ , Xs [0,0,0,0,1]+ , Xs [0,0,0,1,0]+ , Xs [0,0,0,2]+ , Xs [0,0,1,0,0]+ , Xs [0,0,1,1]+ , Xs [0,0,2,0]+ , Xs [0,0,6]+ , Xs [0,1,0,0,0]+ , Xs [0,1,0,1]+ , Xs [0,1,1,0]+ , Xs [0,1,2]+ , Xs [0,2,0,0]+ , Xs [0,2,1]+ , Xs [0,6,0]+ , Xs [0,3]+ , Xs [1,0,0,0,0]+ , Xs [1,0,0,1]+ , Xs [1,0,1,0]+ , Xs [1,0,2]+ , Xs [1,1,0,0]+ , Xs [1,1,1]+ , Xs [1,2,0]+ , Xs [1,6]+ , Xs [2,0,0,0]+ , Xs [2,0,1]+ , Xs [2,1,0]+ , Xs [2,2]+ , Xs [6,0,0]+ , Xs [6,1]+ , Xs [3,0]+ , Xs [4]+ ]+ , [ Xs [0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,1]+ , Xs [0,0,0,0,1,0]+ , Xs [0,0,0,0,2]+ , Xs [0,0,0,1,0,0]+ , Xs [0,0,0,1,1]+ , Xs [0,0,0,2,0]+ , Xs [0,0,0,6]+ , Xs [0,0,1,0,0,0]+ , Xs [0,0,1,0,1]+ , Xs [0,0,1,1,0]+ , Xs [0,0,1,2]+ , Xs [0,0,2,0,0]+ , Xs [0,0,2,1]+ , Xs [0,0,6,0]+ , Xs [0,0,3]+ , Xs [0,1,0,0,0,0]+ , Xs [0,1,0,0,1]+ , Xs [0,1,0,1,0]+ , Xs [0,1,0,2]+ , Xs [0,1,1,0,0]+ , Xs [0,1,1,1]+ , Xs [0,1,2,0]+ , Xs [0,1,6]+ , Xs [0,2,0,0,0]+ , Xs [0,2,0,1]+ , Xs [0,2,1,0]+ , Xs [0,2,2]+ , Xs [0,6,0,0]+ , Xs [0,6,1]+ , Xs [0,3,0]+ , Xs [0,4]+ , Xs [1,0,0,0,0,0]+ , Xs [1,0,0,0,1]+ , Xs [1,0,0,1,0]+ , Xs [1,0,0,2]+ , Xs [1,0,1,0,0]+ , Xs [1,0,1,1]+ , Xs [1,0,2,0]+ , Xs [1,0,6]+ , Xs [1,1,0,0,0]+ , Xs [1,1,0,1]+ , Xs [1,1,1,0]+ , Xs [1,1,2]+ , Xs [1,2,0,0]+ , Xs [1,2,1]+ , Xs [1,6,0]+ , Xs [1,3]+ , Xs [2,0,0,0,0]+ , Xs [2,0,0,1]+ , Xs [2,0,1,0]+ , Xs [2,0,2]+ , Xs [2,1,0,0]+ , Xs [2,1,1]+ , Xs [2,2,0]+ , Xs [2,6]+ , Xs [6,0,0,0]+ , Xs [6,0,1]+ , Xs [6,1,0]+ , Xs [6,2]+ , Xs [3,0,0]+ , Xs [3,1]+ , Xs [4,0]+ , Xs [5]+ ]+ , [ Xs [0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,2]+ , Xs [0,0,0,0,1,0,0]+ , Xs [0,0,0,0,1,1]+ , Xs [0,0,0,0,2,0]+ , Xs [0,0,0,0,6]+ , Xs [0,0,0,1,0,0,0]+ , Xs [0,0,0,1,0,1]+ , Xs [0,0,0,1,1,0]+ , Xs [0,0,0,1,2]+ , Xs [0,0,0,2,0,0]+ , Xs [0,0,0,2,1]+ , Xs [0,0,0,6,0]+ , Xs [0,0,0,3]+ , Xs [0,0,1,0,0,0,0]+ , Xs [0,0,1,0,0,1]+ , Xs [0,0,1,0,1,0]+ , Xs [0,0,1,0,2]+ , Xs [0,0,1,1,0,0]+ , Xs [0,0,1,1,1]+ , Xs [0,0,1,2,0]+ , Xs [0,0,1,6]+ , Xs [0,0,2,0,0,0]+ , Xs [0,0,2,0,1]+ , Xs [0,0,2,1,0]+ , Xs [0,0,2,2]+ , Xs [0,0,6,0,0]+ , Xs [0,0,6,1]+ , Xs [0,0,3,0]+ , Xs [0,0,4]+ , Xs [0,1,0,0,0,0,0]+ , Xs [0,1,0,0,0,1]+ , Xs [0,1,0,0,1,0]+ , Xs [0,1,0,0,2]+ , Xs [0,1,0,1,0,0]+ , Xs [0,1,0,1,1]+ , Xs [0,1,0,2,0]+ , Xs [0,1,0,6]+ , Xs [0,1,1,0,0,0]+ , Xs [0,1,1,0,1]+ , Xs [0,1,1,1,0]+ , Xs [0,1,1,2]+ , Xs [0,1,2,0,0]+ , Xs [0,1,2,1]+ , Xs [0,1,6,0]+ , Xs [0,1,3]+ , Xs [0,2,0,0,0,0]+ , Xs [0,2,0,0,1]+ , Xs [0,2,0,1,0]+ , Xs [0,2,0,2]+ , Xs [0,2,1,0,0]+ , Xs [0,2,1,1]+ , Xs [0,2,2,0]+ , Xs [0,2,6]+ , Xs [0,6,0,0,0]+ , Xs [0,6,0,1]+ , Xs [0,6,1,0]+ , Xs [0,6,2]+ , Xs [0,3,0,0]+ , Xs [0,3,1]+ , Xs [0,4,0]+ , Xs [0,5]+ , Xs [1,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,1]+ , Xs [1,0,0,0,1,0]+ , Xs [1,0,0,0,2]+ , Xs [1,0,0,1,0,0]+ , Xs [1,0,0,1,1]+ , Xs [1,0,0,2,0]+ , Xs [1,0,0,6]+ , Xs [1,0,1,0,0,0]+ , Xs [1,0,1,0,1]+ , Xs [1,0,1,1,0]+ , Xs [1,0,1,2]+ , Xs [1,0,2,0,0]+ , Xs [1,0,2,1]+ , Xs [1,0,6,0]+ , Xs [1,0,3]+ , Xs [1,1,0,0,0,0]+ , Xs [1,1,0,0,1]+ , Xs [1,1,0,1,0]+ , Xs [1,1,0,2]+ , Xs [1,1,1,0,0]+ , Xs [1,1,1,1]+ , Xs [1,1,2,0]+ , Xs [1,1,6]+ , Xs [1,2,0,0,0]+ , Xs [1,2,0,1]+ , Xs [1,2,1,0]+ , Xs [1,2,2]+ , Xs [1,6,0,0]+ , Xs [1,6,1]+ , Xs [1,3,0]+ , Xs [1,4]+ , Xs [2,0,0,0,0,0]+ , Xs [2,0,0,0,1]+ , Xs [2,0,0,1,0]+ , Xs [2,0,0,2]+ , Xs [2,0,1,0,0]+ , Xs [2,0,1,1]+ , Xs [2,0,2,0]+ , Xs [2,0,6]+ , Xs [2,1,0,0,0]+ , Xs [2,1,0,1]+ , Xs [2,1,1,0]+ , Xs [2,1,2]+ , Xs [2,2,0,0]+ , Xs [2,2,1]+ , Xs [2,6,0]+ , Xs [2,3]+ , Xs [6,0,0,0,0]+ , Xs [6,0,0,1]+ , Xs [6,0,1,0]+ , Xs [6,0,2]+ , Xs [6,1,0,0]+ , Xs [6,1,1]+ , Xs [6,2,0]+ , Xs [6,6]+ , Xs [3,0,0,0]+ , Xs [3,0,1]+ , Xs [3,1,0]+ , Xs [3,2]+ , Xs [4,0,0]+ , Xs [4,1]+ , Xs [5,0]+ ]+ , [ Xs [0,0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,0,2]+ , Xs [0,0,0,0,0,1,0,0]+ , Xs [0,0,0,0,0,1,1]+ , Xs [0,0,0,0,0,2,0]+ , Xs [0,0,0,0,0,6]+ , Xs [0,0,0,0,1,0,0,0]+ , Xs [0,0,0,0,1,0,1]+ , Xs [0,0,0,0,1,1,0]+ , Xs [0,0,0,0,1,2]+ , Xs [0,0,0,0,2,0,0]+ , Xs [0,0,0,0,2,1]+ , Xs [0,0,0,0,6,0]+ , Xs [0,0,0,0,3]+ , Xs [0,0,0,1,0,0,0,0]+ , Xs [0,0,0,1,0,0,1]+ , Xs [0,0,0,1,0,1,0]+ , Xs [0,0,0,1,0,2]+ , Xs [0,0,0,1,1,0,0]+ , Xs [0,0,0,1,1,1]+ , Xs [0,0,0,1,2,0]+ , Xs [0,0,0,1,6]+ , Xs [0,0,0,2,0,0,0]+ , Xs [0,0,0,2,0,1]+ , Xs [0,0,0,2,1,0]+ , Xs [0,0,0,2,2]+ , Xs [0,0,0,6,0,0]+ , Xs [0,0,0,6,1]+ , Xs [0,0,0,3,0]+ , Xs [0,0,0,4]+ , Xs [0,0,1,0,0,0,0,0]+ , Xs [0,0,1,0,0,0,1]+ , Xs [0,0,1,0,0,1,0]+ , Xs [0,0,1,0,0,2]+ , Xs [0,0,1,0,1,0,0]+ , Xs [0,0,1,0,1,1]+ , Xs [0,0,1,0,2,0]+ , Xs [0,0,1,0,6]+ , Xs [0,0,1,1,0,0,0]+ , Xs [0,0,1,1,0,1]+ , Xs [0,0,1,1,1,0]+ , Xs [0,0,1,1,2]+ , Xs [0,0,1,2,0,0]+ , Xs [0,0,1,2,1]+ , Xs [0,0,1,6,0]+ , Xs [0,0,1,3]+ , Xs [0,0,2,0,0,0,0]+ , Xs [0,0,2,0,0,1]+ , Xs [0,0,2,0,1,0]+ , Xs [0,0,2,0,2]+ , Xs [0,0,2,1,0,0]+ , Xs [0,0,2,1,1]+ , Xs [0,0,2,2,0]+ , Xs [0,0,2,6]+ , Xs [0,0,6,0,0,0]+ , Xs [0,0,6,0,1]+ , Xs [0,0,6,1,0]+ , Xs [0,0,6,2]+ , Xs [0,0,3,0,0]+ , Xs [0,0,3,1]+ , Xs [0,0,4,0]+ , Xs [0,0,5]+ , Xs [0,1,0,0,0,0,0,0]+ , Xs [0,1,0,0,0,0,1]+ , Xs [0,1,0,0,0,1,0]+ , Xs [0,1,0,0,0,2]+ , Xs [0,1,0,0,1,0,0]+ , Xs [0,1,0,0,1,1]+ , Xs [0,1,0,0,2,0]+ , Xs [0,1,0,0,6]+ , Xs [0,1,0,1,0,0,0]+ , Xs [0,1,0,1,0,1]+ , Xs [0,1,0,1,1,0]+ , Xs [0,1,0,1,2]+ , Xs [0,1,0,2,0,0]+ , Xs [0,1,0,2,1]+ , Xs [0,1,0,6,0]+ , Xs [0,1,0,3]+ , Xs [0,1,1,0,0,0,0]+ , Xs [0,1,1,0,0,1]+ , Xs [0,1,1,0,1,0]+ , Xs [0,1,1,0,2]+ , Xs [0,1,1,1,0,0]+ , Xs [0,1,1,1,1]+ , Xs [0,1,1,2,0]+ , Xs [0,1,1,6]+ , Xs [0,1,2,0,0,0]+ , Xs [0,1,2,0,1]+ , Xs [0,1,2,1,0]+ , Xs [0,1,2,2]+ , Xs [0,1,6,0,0]+ , Xs [0,1,6,1]+ , Xs [0,1,3,0]+ , Xs [0,1,4]+ , Xs [0,2,0,0,0,0,0]+ , Xs [0,2,0,0,0,1]+ , Xs [0,2,0,0,1,0]+ , Xs [0,2,0,0,2]+ , Xs [0,2,0,1,0,0]+ , Xs [0,2,0,1,1]+ , Xs [0,2,0,2,0]+ , Xs [0,2,0,6]+ , Xs [0,2,1,0,0,0]+ , Xs [0,2,1,0,1]+ , Xs [0,2,1,1,0]+ , Xs [0,2,1,2]+ , Xs [0,2,2,0,0]+ , Xs [0,2,2,1]+ , Xs [0,2,6,0]+ , Xs [0,2,3]+ , Xs [0,6,0,0,0,0]+ , Xs [0,6,0,0,1]+ , Xs [0,6,0,1,0]+ , Xs [0,6,0,2]+ , Xs [0,6,1,0,0]+ , Xs [0,6,1,1]+ , Xs [0,6,2,0]+ , Xs [0,6,6]+ , Xs [0,3,0,0,0]+ , Xs [0,3,0,1]+ , Xs [0,3,1,0]+ , Xs [0,3,2]+ , Xs [0,4,0,0]+ , Xs [0,4,1]+ , Xs [0,5,0]+ , Xs [1,0,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,0,1]+ , Xs [1,0,0,0,0,1,0]+ , Xs [1,0,0,0,0,2]+ , Xs [1,0,0,0,1,0,0]+ , Xs [1,0,0,0,1,1]+ , Xs [1,0,0,0,2,0]+ , Xs [1,0,0,0,6]+ , Xs [1,0,0,1,0,0,0]+ , Xs [1,0,0,1,0,1]+ , Xs [1,0,0,1,1,0]+ , Xs [1,0,0,1,2]+ , Xs [1,0,0,2,0,0]+ , Xs [1,0,0,2,1]+ , Xs [1,0,0,6,0]+ , Xs [1,0,0,3]+ , Xs [1,0,1,0,0,0,0]+ , Xs [1,0,1,0,0,1]+ , Xs [1,0,1,0,1,0]+ , Xs [1,0,1,0,2]+ , Xs [1,0,1,1,0,0]+ , Xs [1,0,1,1,1]+ , Xs [1,0,1,2,0]+ , Xs [1,0,1,6]+ , Xs [1,0,2,0,0,0]+ , Xs [1,0,2,0,1]+ , Xs [1,0,2,1,0]+ , Xs [1,0,2,2]+ , Xs [1,0,6,0,0]+ , Xs [1,0,6,1]+ , Xs [1,0,3,0]+ , Xs [1,0,4]+ , Xs [1,1,0,0,0,0,0]+ , Xs [1,1,0,0,0,1]+ , Xs [1,1,0,0,1,0]+ , Xs [1,1,0,0,2]+ , Xs [1,1,0,1,0,0]+ , Xs [1,1,0,1,1]+ , Xs [1,1,0,2,0]+ , Xs [1,1,0,6]+ , Xs [1,1,1,0,0,0]+ , Xs [1,1,1,0,1]+ , Xs [1,1,1,1,0]+ , Xs [1,1,1,2]+ , Xs [1,1,2,0,0]+ , Xs [1,1,2,1]+ , Xs [1,1,6,0]+ , Xs [1,1,3]+ , Xs [1,2,0,0,0,0]+ , Xs [1,2,0,0,1]+ , Xs [1,2,0,1,0]+ , Xs [1,2,0,2]+ , Xs [1,2,1,0,0]+ , Xs [1,2,1,1]+ , Xs [1,2,2,0]+ , Xs [1,2,6]+ , Xs [1,6,0,0,0]+ , Xs [1,6,0,1]+ , Xs [1,6,1,0]+ , Xs [1,6,2]+ , Xs [1,3,0,0]+ , Xs [1,3,1]+ , Xs [1,4,0]+ , Xs [1,5]+ , Xs [2,0,0,0,0,0,0]+ , Xs [2,0,0,0,0,1]+ , Xs [2,0,0,0,1,0]+ , Xs [2,0,0,0,2]+ , Xs [2,0,0,1,0,0]+ , Xs [2,0,0,1,1]+ , Xs [2,0,0,2,0]+ , Xs [2,0,0,6]+ , Xs [2,0,1,0,0,0]+ , Xs [2,0,1,0,1]+ , Xs [2,0,1,1,0]+ , Xs [2,0,1,2]+ , Xs [2,0,2,0,0]+ , Xs [2,0,2,1]+ , Xs [2,0,6,0]+ , Xs [2,0,3]+ , Xs [2,1,0,0,0,0]+ , Xs [2,1,0,0,1]+ , Xs [2,1,0,1,0]+ , Xs [2,1,0,2]+ , Xs [2,1,1,0,0]+ , Xs [2,1,1,1]+ , Xs [2,1,2,0]+ , Xs [2,1,6]+ , Xs [2,2,0,0,0]+ , Xs [2,2,0,1]+ , Xs [2,2,1,0]+ , Xs [2,2,2]+ , Xs [2,6,0,0]+ , Xs [2,6,1]+ , Xs [2,3,0]+ , Xs [2,4]+ , Xs [6,0,0,0,0,0]+ , Xs [6,0,0,0,1]+ , Xs [6,0,0,1,0]+ , Xs [6,0,0,2]+ , Xs [6,0,1,0,0]+ , Xs [6,0,1,1]+ , Xs [6,0,2,0]+ , Xs [6,0,6]+ , Xs [6,1,0,0,0]+ , Xs [6,1,0,1]+ , Xs [6,1,1,0]+ , Xs [6,1,2]+ , Xs [6,2,0,0]+ , Xs [6,2,1]+ , Xs [6,6,0]+ , Xs [6,3]+ , Xs [3,0,0,0,0]+ , Xs [3,0,0,1]+ , Xs [3,0,1,0]+ , Xs [3,0,2]+ , Xs [3,1,0,0]+ , Xs [3,1,1]+ , Xs [3,2,0]+ , Xs [3,6]+ , Xs [4,0,0,0]+ , Xs [4,0,1]+ , Xs [4,1,0]+ , Xs [4,2]+ , Xs [5,0,0]+ , Xs [5,1]+ ]+ , [ Xs [0,0,0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,0,0,2]+ , Xs [0,0,0,0,0,0,1,0,0]+ , Xs [0,0,0,0,0,0,1,1]+ , Xs [0,0,0,0,0,0,2,0]+ , Xs [0,0,0,0,0,0,6]+ , Xs [0,0,0,0,0,1,0,0,0]+ , Xs [0,0,0,0,0,1,0,1]+ , Xs [0,0,0,0,0,1,1,0]+ , Xs [0,0,0,0,0,1,2]+ , Xs [0,0,0,0,0,2,0,0]+ , Xs [0,0,0,0,0,2,1]+ , Xs [0,0,0,0,0,6,0]+ , Xs [0,0,0,0,0,3]+ , Xs [0,0,0,0,1,0,0,0,0]+ , Xs [0,0,0,0,1,0,0,1]+ , Xs [0,0,0,0,1,0,1,0]+ , Xs [0,0,0,0,1,0,2]+ , Xs [0,0,0,0,1,1,0,0]+ , Xs [0,0,0,0,1,1,1]+ , Xs [0,0,0,0,1,2,0]+ , Xs [0,0,0,0,1,6]+ , Xs [0,0,0,0,2,0,0,0]+ , Xs [0,0,0,0,2,0,1]+ , Xs [0,0,0,0,2,1,0]+ , Xs [0,0,0,0,2,2]+ , Xs [0,0,0,0,6,0,0]+ , Xs [0,0,0,0,6,1]+ , Xs [0,0,0,0,3,0]+ , Xs [0,0,0,0,4]+ , Xs [0,0,0,1,0,0,0,0,0]+ , Xs [0,0,0,1,0,0,0,1]+ , Xs [0,0,0,1,0,0,1,0]+ , Xs [0,0,0,1,0,0,2]+ , Xs [0,0,0,1,0,1,0,0]+ , Xs [0,0,0,1,0,1,1]+ , Xs [0,0,0,1,0,2,0]+ , Xs [0,0,0,1,0,6]+ , Xs [0,0,0,1,1,0,0,0]+ , Xs [0,0,0,1,1,0,1]+ , Xs [0,0,0,1,1,1,0]+ , Xs [0,0,0,1,1,2]+ , Xs [0,0,0,1,2,0,0]+ , Xs [0,0,0,1,2,1]+ , Xs [0,0,0,1,6,0]+ , Xs [0,0,0,1,3]+ , Xs [0,0,0,2,0,0,0,0]+ , Xs [0,0,0,2,0,0,1]+ , Xs [0,0,0,2,0,1,0]+ , Xs [0,0,0,2,0,2]+ , Xs [0,0,0,2,1,0,0]+ , Xs [0,0,0,2,1,1]+ , Xs [0,0,0,2,2,0]+ , Xs [0,0,0,2,6]+ , Xs [0,0,0,6,0,0,0]+ , Xs [0,0,0,6,0,1]+ , Xs [0,0,0,6,1,0]+ , Xs [0,0,0,6,2]+ , Xs [0,0,0,3,0,0]+ , Xs [0,0,0,3,1]+ , Xs [0,0,0,4,0]+ , Xs [0,0,0,5]+ , Xs [0,0,1,0,0,0,0,0,0]+ , Xs [0,0,1,0,0,0,0,1]+ , Xs [0,0,1,0,0,0,1,0]+ , Xs [0,0,1,0,0,0,2]+ , Xs [0,0,1,0,0,1,0,0]+ , Xs [0,0,1,0,0,1,1]+ , Xs [0,0,1,0,0,2,0]+ , Xs [0,0,1,0,0,6]+ , Xs [0,0,1,0,1,0,0,0]+ , Xs [0,0,1,0,1,0,1]+ , Xs [0,0,1,0,1,1,0]+ , Xs [0,0,1,0,1,2]+ , Xs [0,0,1,0,2,0,0]+ , Xs [0,0,1,0,2,1]+ , Xs [0,0,1,0,6,0]+ , Xs [0,0,1,0,3]+ , Xs [0,0,1,1,0,0,0,0]+ , Xs [0,0,1,1,0,0,1]+ , Xs [0,0,1,1,0,1,0]+ , Xs [0,0,1,1,0,2]+ , Xs [0,0,1,1,1,0,0]+ , Xs [0,0,1,1,1,1]+ , Xs [0,0,1,1,2,0]+ , Xs [0,0,1,1,6]+ , Xs [0,0,1,2,0,0,0]+ , Xs [0,0,1,2,0,1]+ , Xs [0,0,1,2,1,0]+ , Xs [0,0,1,2,2]+ , Xs [0,0,1,6,0,0]+ , Xs [0,0,1,6,1]+ , Xs [0,0,1,3,0]+ , Xs [0,0,1,4]+ , Xs [0,0,2,0,0,0,0,0]+ , Xs [0,0,2,0,0,0,1]+ , Xs [0,0,2,0,0,1,0]+ , Xs [0,0,2,0,0,2]+ , Xs [0,0,2,0,1,0,0]+ , Xs [0,0,2,0,1,1]+ , Xs [0,0,2,0,2,0]+ , Xs [0,0,2,0,6]+ , Xs [0,0,2,1,0,0,0]+ , Xs [0,0,2,1,0,1]+ , Xs [0,0,2,1,1,0]+ , Xs [0,0,2,1,2]+ , Xs [0,0,2,2,0,0]+ , Xs [0,0,2,2,1]+ , Xs [0,0,2,6,0]+ , Xs [0,0,2,3]+ , Xs [0,0,6,0,0,0,0]+ , Xs [0,0,6,0,0,1]+ , Xs [0,0,6,0,1,0]+ , Xs [0,0,6,0,2]+ , Xs [0,0,6,1,0,0]+ , Xs [0,0,6,1,1]+ , Xs [0,0,6,2,0]+ , Xs [0,0,6,6]+ , Xs [0,0,3,0,0,0]+ , Xs [0,0,3,0,1]+ , Xs [0,0,3,1,0]+ , Xs [0,0,3,2]+ , Xs [0,0,4,0,0]+ , Xs [0,0,4,1]+ , Xs [0,0,5,0]+ , Xs [0,1,0,0,0,0,0,0,0]+ , Xs [0,1,0,0,0,0,0,1]+ , Xs [0,1,0,0,0,0,1,0]+ , Xs [0,1,0,0,0,0,2]+ , Xs [0,1,0,0,0,1,0,0]+ , Xs [0,1,0,0,0,1,1]+ , Xs [0,1,0,0,0,2,0]+ , Xs [0,1,0,0,0,6]+ , Xs [0,1,0,0,1,0,0,0]+ , Xs [0,1,0,0,1,0,1]+ , Xs [0,1,0,0,1,1,0]+ , Xs [0,1,0,0,1,2]+ , Xs [0,1,0,0,2,0,0]+ , Xs [0,1,0,0,2,1]+ , Xs [0,1,0,0,6,0]+ , Xs [0,1,0,0,3]+ , Xs [0,1,0,1,0,0,0,0]+ , Xs [0,1,0,1,0,0,1]+ , Xs [0,1,0,1,0,1,0]+ , Xs [0,1,0,1,0,2]+ , Xs [0,1,0,1,1,0,0]+ , Xs [0,1,0,1,1,1]+ , Xs [0,1,0,1,2,0]+ , Xs [0,1,0,1,6]+ , Xs [0,1,0,2,0,0,0]+ , Xs [0,1,0,2,0,1]+ , Xs [0,1,0,2,1,0]+ , Xs [0,1,0,2,2]+ , Xs [0,1,0,6,0,0]+ , Xs [0,1,0,6,1]+ , Xs [0,1,0,3,0]+ , Xs [0,1,0,4]+ , Xs [0,1,1,0,0,0,0,0]+ , Xs [0,1,1,0,0,0,1]+ , Xs [0,1,1,0,0,1,0]+ , Xs [0,1,1,0,0,2]+ , Xs [0,1,1,0,1,0,0]+ , Xs [0,1,1,0,1,1]+ , Xs [0,1,1,0,2,0]+ , Xs [0,1,1,0,6]+ , Xs [0,1,1,1,0,0,0]+ , Xs [0,1,1,1,0,1]+ , Xs [0,1,1,1,1,0]+ , Xs [0,1,1,1,2]+ , Xs [0,1,1,2,0,0]+ , Xs [0,1,1,2,1]+ , Xs [0,1,1,6,0]+ , Xs [0,1,1,3]+ , Xs [0,1,2,0,0,0,0]+ , Xs [0,1,2,0,0,1]+ , Xs [0,1,2,0,1,0]+ , Xs [0,1,2,0,2]+ , Xs [0,1,2,1,0,0]+ , Xs [0,1,2,1,1]+ , Xs [0,1,2,2,0]+ , Xs [0,1,2,6]+ , Xs [0,1,6,0,0,0]+ , Xs [0,1,6,0,1]+ , Xs [0,1,6,1,0]+ , Xs [0,1,6,2]+ , Xs [0,1,3,0,0]+ , Xs [0,1,3,1]+ , Xs [0,1,4,0]+ , Xs [0,1,5]+ , Xs [0,2,0,0,0,0,0,0]+ , Xs [0,2,0,0,0,0,1]+ , Xs [0,2,0,0,0,1,0]+ , Xs [0,2,0,0,0,2]+ , Xs [0,2,0,0,1,0,0]+ , Xs [0,2,0,0,1,1]+ , Xs [0,2,0,0,2,0]+ , Xs [0,2,0,0,6]+ , Xs [0,2,0,1,0,0,0]+ , Xs [0,2,0,1,0,1]+ , Xs [0,2,0,1,1,0]+ , Xs [0,2,0,1,2]+ , Xs [0,2,0,2,0,0]+ , Xs [0,2,0,2,1]+ , Xs [0,2,0,6,0]+ , Xs [0,2,0,3]+ , Xs [0,2,1,0,0,0,0]+ , Xs [0,2,1,0,0,1]+ , Xs [0,2,1,0,1,0]+ , Xs [0,2,1,0,2]+ , Xs [0,2,1,1,0,0]+ , Xs [0,2,1,1,1]+ , Xs [0,2,1,2,0]+ , Xs [0,2,1,6]+ , Xs [0,2,2,0,0,0]+ , Xs [0,2,2,0,1]+ , Xs [0,2,2,1,0]+ , Xs [0,2,2,2]+ , Xs [0,2,6,0,0]+ , Xs [0,2,6,1]+ , Xs [0,2,3,0]+ , Xs [0,2,4]+ , Xs [0,6,0,0,0,0,0]+ , Xs [0,6,0,0,0,1]+ , Xs [0,6,0,0,1,0]+ , Xs [0,6,0,0,2]+ , Xs [0,6,0,1,0,0]+ , Xs [0,6,0,1,1]+ , Xs [0,6,0,2,0]+ , Xs [0,6,0,6]+ , Xs [0,6,1,0,0,0]+ , Xs [0,6,1,0,1]+ , Xs [0,6,1,1,0]+ , Xs [0,6,1,2]+ , Xs [0,6,2,0,0]+ , Xs [0,6,2,1]+ , Xs [0,6,6,0]+ , Xs [0,6,3]+ , Xs [0,3,0,0,0,0]+ , Xs [0,3,0,0,1]+ , Xs [0,3,0,1,0]+ , Xs [0,3,0,2]+ , Xs [0,3,1,0,0]+ , Xs [0,3,1,1]+ , Xs [0,3,2,0]+ , Xs [0,3,6]+ , Xs [0,4,0,0,0]+ , Xs [0,4,0,1]+ , Xs [0,4,1,0]+ , Xs [0,4,2]+ , Xs [0,5,0,0]+ , Xs [0,5,1]+ , Xs [1,0,0,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,0,0,1]+ , Xs [1,0,0,0,0,0,1,0]+ , Xs [1,0,0,0,0,0,2]+ , Xs [1,0,0,0,0,1,0,0]+ , Xs [1,0,0,0,0,1,1]+ , Xs [1,0,0,0,0,2,0]+ , Xs [1,0,0,0,0,6]+ , Xs [1,0,0,0,1,0,0,0]+ , Xs [1,0,0,0,1,0,1]+ , Xs [1,0,0,0,1,1,0]+ , Xs [1,0,0,0,1,2]+ , Xs [1,0,0,0,2,0,0]+ , Xs [1,0,0,0,2,1]+ , Xs [1,0,0,0,6,0]+ , Xs [1,0,0,0,3]+ , Xs [1,0,0,1,0,0,0,0]+ , Xs [1,0,0,1,0,0,1]+ , Xs [1,0,0,1,0,1,0]+ , Xs [1,0,0,1,0,2]+ , Xs [1,0,0,1,1,0,0]+ , Xs [1,0,0,1,1,1]+ , Xs [1,0,0,1,2,0]+ , Xs [1,0,0,1,6]+ , Xs [1,0,0,2,0,0,0]+ , Xs [1,0,0,2,0,1]+ , Xs [1,0,0,2,1,0]+ , Xs [1,0,0,2,2]+ , Xs [1,0,0,6,0,0]+ , Xs [1,0,0,6,1]+ , Xs [1,0,0,3,0]+ , Xs [1,0,0,4]+ , Xs [1,0,1,0,0,0,0,0]+ , Xs [1,0,1,0,0,0,1]+ , Xs [1,0,1,0,0,1,0]+ , Xs [1,0,1,0,0,2]+ , Xs [1,0,1,0,1,0,0]+ , Xs [1,0,1,0,1,1]+ , Xs [1,0,1,0,2,0]+ , Xs [1,0,1,0,6]+ , Xs [1,0,1,1,0,0,0]+ , Xs [1,0,1,1,0,1]+ , Xs [1,0,1,1,1,0]+ , Xs [1,0,1,1,2]+ , Xs [1,0,1,2,0,0]+ , Xs [1,0,1,2,1]+ , Xs [1,0,1,6,0]+ , Xs [1,0,1,3]+ , Xs [1,0,2,0,0,0,0]+ , Xs [1,0,2,0,0,1]+ , Xs [1,0,2,0,1,0]+ , Xs [1,0,2,0,2]+ , Xs [1,0,2,1,0,0]+ , Xs [1,0,2,1,1]+ , Xs [1,0,2,2,0]+ , Xs [1,0,2,6]+ , Xs [1,0,6,0,0,0]+ , Xs [1,0,6,0,1]+ , Xs [1,0,6,1,0]+ , Xs [1,0,6,2]+ , Xs [1,0,3,0,0]+ , Xs [1,0,3,1]+ , Xs [1,0,4,0]+ , Xs [1,0,5]+ , Xs [1,1,0,0,0,0,0,0]+ , Xs [1,1,0,0,0,0,1]+ , Xs [1,1,0,0,0,1,0]+ , Xs [1,1,0,0,0,2]+ , Xs [1,1,0,0,1,0,0]+ , Xs [1,1,0,0,1,1]+ , Xs [1,1,0,0,2,0]+ , Xs [1,1,0,0,6]+ , Xs [1,1,0,1,0,0,0]+ , Xs [1,1,0,1,0,1]+ , Xs [1,1,0,1,1,0]+ , Xs [1,1,0,1,2]+ , Xs [1,1,0,2,0,0]+ , Xs [1,1,0,2,1]+ , Xs [1,1,0,6,0]+ , Xs [1,1,0,3]+ , Xs [1,1,1,0,0,0,0]+ , Xs [1,1,1,0,0,1]+ , Xs [1,1,1,0,1,0]+ , Xs [1,1,1,0,2]+ , Xs [1,1,1,1,0,0]+ , Xs [1,1,1,1,1]+ , Xs [1,1,1,2,0]+ , Xs [1,1,1,6]+ , Xs [1,1,2,0,0,0]+ , Xs [1,1,2,0,1]+ , Xs [1,1,2,1,0]+ , Xs [1,1,2,2]+ , Xs [1,1,6,0,0]+ , Xs [1,1,6,1]+ , Xs [1,1,3,0]+ , Xs [1,1,4]+ , Xs [1,2,0,0,0,0,0]+ , Xs [1,2,0,0,0,1]+ , Xs [1,2,0,0,1,0]+ , Xs [1,2,0,0,2]+ , Xs [1,2,0,1,0,0]+ , Xs [1,2,0,1,1]+ , Xs [1,2,0,2,0]+ , Xs [1,2,0,6]+ , Xs [1,2,1,0,0,0]+ , Xs [1,2,1,0,1]+ , Xs [1,2,1,1,0]+ , Xs [1,2,1,2]+ , Xs [1,2,2,0,0]+ , Xs [1,2,2,1]+ , Xs [1,2,6,0]+ , Xs [1,2,3]+ , Xs [1,6,0,0,0,0]+ , Xs [1,6,0,0,1]+ , Xs [1,6,0,1,0]+ , Xs [1,6,0,2]+ , Xs [1,6,1,0,0]+ , Xs [1,6,1,1]+ , Xs [1,6,2,0]+ , Xs [1,6,6]+ , Xs [1,3,0,0,0]+ , Xs [1,3,0,1]+ , Xs [1,3,1,0]+ , Xs [1,3,2]+ , Xs [1,4,0,0]+ , Xs [1,4,1]+ , Xs [1,5,0]+ , Xs [2,0,0,0,0,0,0,0]+ , Xs [2,0,0,0,0,0,1]+ , Xs [2,0,0,0,0,1,0]+ , Xs [2,0,0,0,0,2]+ , Xs [2,0,0,0,1,0,0]+ , Xs [2,0,0,0,1,1]+ , Xs [2,0,0,0,2,0]+ , Xs [2,0,0,0,6]+ , Xs [2,0,0,1,0,0,0]+ , Xs [2,0,0,1,0,1]+ , Xs [2,0,0,1,1,0]+ , Xs [2,0,0,1,2]+ , Xs [2,0,0,2,0,0]+ , Xs [2,0,0,2,1]+ , Xs [2,0,0,6,0]+ , Xs [2,0,0,3]+ , Xs [2,0,1,0,0,0,0]+ , Xs [2,0,1,0,0,1]+ , Xs [2,0,1,0,1,0]+ , Xs [2,0,1,0,2]+ , Xs [2,0,1,1,0,0]+ , Xs [2,0,1,1,1]+ , Xs [2,0,1,2,0]+ , Xs [2,0,1,6]+ , Xs [2,0,2,0,0,0]+ , Xs [2,0,2,0,1]+ , Xs [2,0,2,1,0]+ , Xs [2,0,2,2]+ , Xs [2,0,6,0,0]+ , Xs [2,0,6,1]+ , Xs [2,0,3,0]+ , Xs [2,0,4]+ , Xs [2,1,0,0,0,0,0]+ , Xs [2,1,0,0,0,1]+ , Xs [2,1,0,0,1,0]+ , Xs [2,1,0,0,2]+ , Xs [2,1,0,1,0,0]+ , Xs [2,1,0,1,1]+ , Xs [2,1,0,2,0]+ , Xs [2,1,0,6]+ , Xs [2,1,1,0,0,0]+ , Xs [2,1,1,0,1]+ , Xs [2,1,1,1,0]+ , Xs [2,1,1,2]+ , Xs [2,1,2,0,0]+ , Xs [2,1,2,1]+ , Xs [2,1,6,0]+ , Xs [2,1,3]+ , Xs [2,2,0,0,0,0]+ , Xs [2,2,0,0,1]+ , Xs [2,2,0,1,0]+ , Xs [2,2,0,2]+ , Xs [2,2,1,0,0]+ , Xs [2,2,1,1]+ , Xs [2,2,2,0]+ , Xs [2,2,6]+ , Xs [2,6,0,0,0]+ , Xs [2,6,0,1]+ , Xs [2,6,1,0]+ , Xs [2,6,2]+ , Xs [2,3,0,0]+ , Xs [2,3,1]+ , Xs [2,4,0]+ , Xs [2,5]+ , Xs [6,0,0,0,0,0,0]+ , Xs [6,0,0,0,0,1]+ , Xs [6,0,0,0,1,0]+ , Xs [6,0,0,0,2]+ , Xs [6,0,0,1,0,0]+ , Xs [6,0,0,1,1]+ , Xs [6,0,0,2,0]+ , Xs [6,0,0,6]+ , Xs [6,0,1,0,0,0]+ , Xs [6,0,1,0,1]+ , Xs [6,0,1,1,0]+ , Xs [6,0,1,2]+ , Xs [6,0,2,0,0]+ , Xs [6,0,2,1]+ , Xs [6,0,6,0]+ , Xs [6,0,3]+ , Xs [6,1,0,0,0,0]+ , Xs [6,1,0,0,1]+ , Xs [6,1,0,1,0]+ , Xs [6,1,0,2]+ , Xs [6,1,1,0,0]+ , Xs [6,1,1,1]+ , Xs [6,1,2,0]+ , Xs [6,1,6]+ , Xs [6,2,0,0,0]+ , Xs [6,2,0,1]+ , Xs [6,2,1,0]+ , Xs [6,2,2]+ , Xs [6,6,0,0]+ , Xs [6,6,1]+ , Xs [6,3,0]+ , Xs [6,4]+ , Xs [3,0,0,0,0,0]+ , Xs [3,0,0,0,1]+ , Xs [3,0,0,1,0]+ , Xs [3,0,0,2]+ , Xs [3,0,1,0,0]+ , Xs [3,0,1,1]+ , Xs [3,0,2,0]+ , Xs [3,0,6]+ , Xs [3,1,0,0,0]+ , Xs [3,1,0,1]+ , Xs [3,1,1,0]+ , Xs [3,1,2]+ , Xs [3,2,0,0]+ , Xs [3,2,1]+ , Xs [3,6,0]+ , Xs [3,3]+ , Xs [4,0,0,0,0]+ , Xs [4,0,0,1]+ , Xs [4,0,1,0]+ , Xs [4,0,2]+ , Xs [4,1,0,0]+ , Xs [4,1,1]+ , Xs [4,2,0]+ , Xs [4,6]+ , Xs [5,0,0,0]+ , Xs [5,0,1]+ , Xs [5,1,0]+ , Xs [5,2]+ ]+ , ...+ ]
+ test/diff/tiers-XsWord4.out view
@@ -0,0 +1,1045 @@+map length (tiers :: [[ Xs Word4 ]]) = [0,1,1,2,4,8,16,32,64,128,256,512,...]++length (list :: [ Xs Word4 ]) = Infinity++allUnique (list :: [ Xs Word4 ]) = True++ratioRepetitions (list :: [ Xs Word4 ]) = 0 % 1++tiers :: [Xs Word4] =+ [ []+ , [Xs []]+ , [Xs [0]]+ , [ Xs [0,0]+ , Xs [1]+ ]+ , [ Xs [0,0,0]+ , Xs [0,1]+ , Xs [1,0]+ , Xs [2]+ ]+ , [ Xs [0,0,0,0]+ , Xs [0,0,1]+ , Xs [0,1,0]+ , Xs [0,2]+ , Xs [1,0,0]+ , Xs [1,1]+ , Xs [2,0]+ , Xs [15]+ ]+ , [ Xs [0,0,0,0,0]+ , Xs [0,0,0,1]+ , Xs [0,0,1,0]+ , Xs [0,0,2]+ , Xs [0,1,0,0]+ , Xs [0,1,1]+ , Xs [0,2,0]+ , Xs [0,15]+ , Xs [1,0,0,0]+ , Xs [1,0,1]+ , Xs [1,1,0]+ , Xs [1,2]+ , Xs [2,0,0]+ , Xs [2,1]+ , Xs [15,0]+ , Xs [3]+ ]+ , [ Xs [0,0,0,0,0,0]+ , Xs [0,0,0,0,1]+ , Xs [0,0,0,1,0]+ , Xs [0,0,0,2]+ , Xs [0,0,1,0,0]+ , Xs [0,0,1,1]+ , Xs [0,0,2,0]+ , Xs [0,0,15]+ , Xs [0,1,0,0,0]+ , Xs [0,1,0,1]+ , Xs [0,1,1,0]+ , Xs [0,1,2]+ , Xs [0,2,0,0]+ , Xs [0,2,1]+ , Xs [0,15,0]+ , Xs [0,3]+ , Xs [1,0,0,0,0]+ , Xs [1,0,0,1]+ , Xs [1,0,1,0]+ , Xs [1,0,2]+ , Xs [1,1,0,0]+ , Xs [1,1,1]+ , Xs [1,2,0]+ , Xs [1,15]+ , Xs [2,0,0,0]+ , Xs [2,0,1]+ , Xs [2,1,0]+ , Xs [2,2]+ , Xs [15,0,0]+ , Xs [15,1]+ , Xs [3,0]+ , Xs [4]+ ]+ , [ Xs [0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,1]+ , Xs [0,0,0,0,1,0]+ , Xs [0,0,0,0,2]+ , Xs [0,0,0,1,0,0]+ , Xs [0,0,0,1,1]+ , Xs [0,0,0,2,0]+ , Xs [0,0,0,15]+ , Xs [0,0,1,0,0,0]+ , Xs [0,0,1,0,1]+ , Xs [0,0,1,1,0]+ , Xs [0,0,1,2]+ , Xs [0,0,2,0,0]+ , Xs [0,0,2,1]+ , Xs [0,0,15,0]+ , Xs [0,0,3]+ , Xs [0,1,0,0,0,0]+ , Xs [0,1,0,0,1]+ , Xs [0,1,0,1,0]+ , Xs [0,1,0,2]+ , Xs [0,1,1,0,0]+ , Xs [0,1,1,1]+ , Xs [0,1,2,0]+ , Xs [0,1,15]+ , Xs [0,2,0,0,0]+ , Xs [0,2,0,1]+ , Xs [0,2,1,0]+ , Xs [0,2,2]+ , Xs [0,15,0,0]+ , Xs [0,15,1]+ , Xs [0,3,0]+ , Xs [0,4]+ , Xs [1,0,0,0,0,0]+ , Xs [1,0,0,0,1]+ , Xs [1,0,0,1,0]+ , Xs [1,0,0,2]+ , Xs [1,0,1,0,0]+ , Xs [1,0,1,1]+ , Xs [1,0,2,0]+ , Xs [1,0,15]+ , Xs [1,1,0,0,0]+ , Xs [1,1,0,1]+ , Xs [1,1,1,0]+ , Xs [1,1,2]+ , Xs [1,2,0,0]+ , Xs [1,2,1]+ , Xs [1,15,0]+ , Xs [1,3]+ , Xs [2,0,0,0,0]+ , Xs [2,0,0,1]+ , Xs [2,0,1,0]+ , Xs [2,0,2]+ , Xs [2,1,0,0]+ , Xs [2,1,1]+ , Xs [2,2,0]+ , Xs [2,15]+ , Xs [15,0,0,0]+ , Xs [15,0,1]+ , Xs [15,1,0]+ , Xs [15,2]+ , Xs [3,0,0]+ , Xs [3,1]+ , Xs [4,0]+ , Xs [14]+ ]+ , [ Xs [0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,2]+ , Xs [0,0,0,0,1,0,0]+ , Xs [0,0,0,0,1,1]+ , Xs [0,0,0,0,2,0]+ , Xs [0,0,0,0,15]+ , Xs [0,0,0,1,0,0,0]+ , Xs [0,0,0,1,0,1]+ , Xs [0,0,0,1,1,0]+ , Xs [0,0,0,1,2]+ , Xs [0,0,0,2,0,0]+ , Xs [0,0,0,2,1]+ , Xs [0,0,0,15,0]+ , Xs [0,0,0,3]+ , Xs [0,0,1,0,0,0,0]+ , Xs [0,0,1,0,0,1]+ , Xs [0,0,1,0,1,0]+ , Xs [0,0,1,0,2]+ , Xs [0,0,1,1,0,0]+ , Xs [0,0,1,1,1]+ , Xs [0,0,1,2,0]+ , Xs [0,0,1,15]+ , Xs [0,0,2,0,0,0]+ , Xs [0,0,2,0,1]+ , Xs [0,0,2,1,0]+ , Xs [0,0,2,2]+ , Xs [0,0,15,0,0]+ , Xs [0,0,15,1]+ , Xs [0,0,3,0]+ , Xs [0,0,4]+ , Xs [0,1,0,0,0,0,0]+ , Xs [0,1,0,0,0,1]+ , Xs [0,1,0,0,1,0]+ , Xs [0,1,0,0,2]+ , Xs [0,1,0,1,0,0]+ , Xs [0,1,0,1,1]+ , Xs [0,1,0,2,0]+ , Xs [0,1,0,15]+ , Xs [0,1,1,0,0,0]+ , Xs [0,1,1,0,1]+ , Xs [0,1,1,1,0]+ , Xs [0,1,1,2]+ , Xs [0,1,2,0,0]+ , Xs [0,1,2,1]+ , Xs [0,1,15,0]+ , Xs [0,1,3]+ , Xs [0,2,0,0,0,0]+ , Xs [0,2,0,0,1]+ , Xs [0,2,0,1,0]+ , Xs [0,2,0,2]+ , Xs [0,2,1,0,0]+ , Xs [0,2,1,1]+ , Xs [0,2,2,0]+ , Xs [0,2,15]+ , Xs [0,15,0,0,0]+ , Xs [0,15,0,1]+ , Xs [0,15,1,0]+ , Xs [0,15,2]+ , Xs [0,3,0,0]+ , Xs [0,3,1]+ , Xs [0,4,0]+ , Xs [0,14]+ , Xs [1,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,1]+ , Xs [1,0,0,0,1,0]+ , Xs [1,0,0,0,2]+ , Xs [1,0,0,1,0,0]+ , Xs [1,0,0,1,1]+ , Xs [1,0,0,2,0]+ , Xs [1,0,0,15]+ , Xs [1,0,1,0,0,0]+ , Xs [1,0,1,0,1]+ , Xs [1,0,1,1,0]+ , Xs [1,0,1,2]+ , Xs [1,0,2,0,0]+ , Xs [1,0,2,1]+ , Xs [1,0,15,0]+ , Xs [1,0,3]+ , Xs [1,1,0,0,0,0]+ , Xs [1,1,0,0,1]+ , Xs [1,1,0,1,0]+ , Xs [1,1,0,2]+ , Xs [1,1,1,0,0]+ , Xs [1,1,1,1]+ , Xs [1,1,2,0]+ , Xs [1,1,15]+ , Xs [1,2,0,0,0]+ , Xs [1,2,0,1]+ , Xs [1,2,1,0]+ , Xs [1,2,2]+ , Xs [1,15,0,0]+ , Xs [1,15,1]+ , Xs [1,3,0]+ , Xs [1,4]+ , Xs [2,0,0,0,0,0]+ , Xs [2,0,0,0,1]+ , Xs [2,0,0,1,0]+ , Xs [2,0,0,2]+ , Xs [2,0,1,0,0]+ , Xs [2,0,1,1]+ , Xs [2,0,2,0]+ , Xs [2,0,15]+ , Xs [2,1,0,0,0]+ , Xs [2,1,0,1]+ , Xs [2,1,1,0]+ , Xs [2,1,2]+ , Xs [2,2,0,0]+ , Xs [2,2,1]+ , Xs [2,15,0]+ , Xs [2,3]+ , Xs [15,0,0,0,0]+ , Xs [15,0,0,1]+ , Xs [15,0,1,0]+ , Xs [15,0,2]+ , Xs [15,1,0,0]+ , Xs [15,1,1]+ , Xs [15,2,0]+ , Xs [15,15]+ , Xs [3,0,0,0]+ , Xs [3,0,1]+ , Xs [3,1,0]+ , Xs [3,2]+ , Xs [4,0,0]+ , Xs [4,1]+ , Xs [14,0]+ , Xs [5]+ ]+ , [ Xs [0,0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,0,2]+ , Xs [0,0,0,0,0,1,0,0]+ , Xs [0,0,0,0,0,1,1]+ , Xs [0,0,0,0,0,2,0]+ , Xs [0,0,0,0,0,15]+ , Xs [0,0,0,0,1,0,0,0]+ , Xs [0,0,0,0,1,0,1]+ , Xs [0,0,0,0,1,1,0]+ , Xs [0,0,0,0,1,2]+ , Xs [0,0,0,0,2,0,0]+ , Xs [0,0,0,0,2,1]+ , Xs [0,0,0,0,15,0]+ , Xs [0,0,0,0,3]+ , Xs [0,0,0,1,0,0,0,0]+ , Xs [0,0,0,1,0,0,1]+ , Xs [0,0,0,1,0,1,0]+ , Xs [0,0,0,1,0,2]+ , Xs [0,0,0,1,1,0,0]+ , Xs [0,0,0,1,1,1]+ , Xs [0,0,0,1,2,0]+ , Xs [0,0,0,1,15]+ , Xs [0,0,0,2,0,0,0]+ , Xs [0,0,0,2,0,1]+ , Xs [0,0,0,2,1,0]+ , Xs [0,0,0,2,2]+ , Xs [0,0,0,15,0,0]+ , Xs [0,0,0,15,1]+ , Xs [0,0,0,3,0]+ , Xs [0,0,0,4]+ , Xs [0,0,1,0,0,0,0,0]+ , Xs [0,0,1,0,0,0,1]+ , Xs [0,0,1,0,0,1,0]+ , Xs [0,0,1,0,0,2]+ , Xs [0,0,1,0,1,0,0]+ , Xs [0,0,1,0,1,1]+ , Xs [0,0,1,0,2,0]+ , Xs [0,0,1,0,15]+ , Xs [0,0,1,1,0,0,0]+ , Xs [0,0,1,1,0,1]+ , Xs [0,0,1,1,1,0]+ , Xs [0,0,1,1,2]+ , Xs [0,0,1,2,0,0]+ , Xs [0,0,1,2,1]+ , Xs [0,0,1,15,0]+ , Xs [0,0,1,3]+ , Xs [0,0,2,0,0,0,0]+ , Xs [0,0,2,0,0,1]+ , Xs [0,0,2,0,1,0]+ , Xs [0,0,2,0,2]+ , Xs [0,0,2,1,0,0]+ , Xs [0,0,2,1,1]+ , Xs [0,0,2,2,0]+ , Xs [0,0,2,15]+ , Xs [0,0,15,0,0,0]+ , Xs [0,0,15,0,1]+ , Xs [0,0,15,1,0]+ , Xs [0,0,15,2]+ , Xs [0,0,3,0,0]+ , Xs [0,0,3,1]+ , Xs [0,0,4,0]+ , Xs [0,0,14]+ , Xs [0,1,0,0,0,0,0,0]+ , Xs [0,1,0,0,0,0,1]+ , Xs [0,1,0,0,0,1,0]+ , Xs [0,1,0,0,0,2]+ , Xs [0,1,0,0,1,0,0]+ , Xs [0,1,0,0,1,1]+ , Xs [0,1,0,0,2,0]+ , Xs [0,1,0,0,15]+ , Xs [0,1,0,1,0,0,0]+ , Xs [0,1,0,1,0,1]+ , Xs [0,1,0,1,1,0]+ , Xs [0,1,0,1,2]+ , Xs [0,1,0,2,0,0]+ , Xs [0,1,0,2,1]+ , Xs [0,1,0,15,0]+ , Xs [0,1,0,3]+ , Xs [0,1,1,0,0,0,0]+ , Xs [0,1,1,0,0,1]+ , Xs [0,1,1,0,1,0]+ , Xs [0,1,1,0,2]+ , Xs [0,1,1,1,0,0]+ , Xs [0,1,1,1,1]+ , Xs [0,1,1,2,0]+ , Xs [0,1,1,15]+ , Xs [0,1,2,0,0,0]+ , Xs [0,1,2,0,1]+ , Xs [0,1,2,1,0]+ , Xs [0,1,2,2]+ , Xs [0,1,15,0,0]+ , Xs [0,1,15,1]+ , Xs [0,1,3,0]+ , Xs [0,1,4]+ , Xs [0,2,0,0,0,0,0]+ , Xs [0,2,0,0,0,1]+ , Xs [0,2,0,0,1,0]+ , Xs [0,2,0,0,2]+ , Xs [0,2,0,1,0,0]+ , Xs [0,2,0,1,1]+ , Xs [0,2,0,2,0]+ , Xs [0,2,0,15]+ , Xs [0,2,1,0,0,0]+ , Xs [0,2,1,0,1]+ , Xs [0,2,1,1,0]+ , Xs [0,2,1,2]+ , Xs [0,2,2,0,0]+ , Xs [0,2,2,1]+ , Xs [0,2,15,0]+ , Xs [0,2,3]+ , Xs [0,15,0,0,0,0]+ , Xs [0,15,0,0,1]+ , Xs [0,15,0,1,0]+ , Xs [0,15,0,2]+ , Xs [0,15,1,0,0]+ , Xs [0,15,1,1]+ , Xs [0,15,2,0]+ , Xs [0,15,15]+ , Xs [0,3,0,0,0]+ , Xs [0,3,0,1]+ , Xs [0,3,1,0]+ , Xs [0,3,2]+ , Xs [0,4,0,0]+ , Xs [0,4,1]+ , Xs [0,14,0]+ , Xs [0,5]+ , Xs [1,0,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,0,1]+ , Xs [1,0,0,0,0,1,0]+ , Xs [1,0,0,0,0,2]+ , Xs [1,0,0,0,1,0,0]+ , Xs [1,0,0,0,1,1]+ , Xs [1,0,0,0,2,0]+ , Xs [1,0,0,0,15]+ , Xs [1,0,0,1,0,0,0]+ , Xs [1,0,0,1,0,1]+ , Xs [1,0,0,1,1,0]+ , Xs [1,0,0,1,2]+ , Xs [1,0,0,2,0,0]+ , Xs [1,0,0,2,1]+ , Xs [1,0,0,15,0]+ , Xs [1,0,0,3]+ , Xs [1,0,1,0,0,0,0]+ , Xs [1,0,1,0,0,1]+ , Xs [1,0,1,0,1,0]+ , Xs [1,0,1,0,2]+ , Xs [1,0,1,1,0,0]+ , Xs [1,0,1,1,1]+ , Xs [1,0,1,2,0]+ , Xs [1,0,1,15]+ , Xs [1,0,2,0,0,0]+ , Xs [1,0,2,0,1]+ , Xs [1,0,2,1,0]+ , Xs [1,0,2,2]+ , Xs [1,0,15,0,0]+ , Xs [1,0,15,1]+ , Xs [1,0,3,0]+ , Xs [1,0,4]+ , Xs [1,1,0,0,0,0,0]+ , Xs [1,1,0,0,0,1]+ , Xs [1,1,0,0,1,0]+ , Xs [1,1,0,0,2]+ , Xs [1,1,0,1,0,0]+ , Xs [1,1,0,1,1]+ , Xs [1,1,0,2,0]+ , Xs [1,1,0,15]+ , Xs [1,1,1,0,0,0]+ , Xs [1,1,1,0,1]+ , Xs [1,1,1,1,0]+ , Xs [1,1,1,2]+ , Xs [1,1,2,0,0]+ , Xs [1,1,2,1]+ , Xs [1,1,15,0]+ , Xs [1,1,3]+ , Xs [1,2,0,0,0,0]+ , Xs [1,2,0,0,1]+ , Xs [1,2,0,1,0]+ , Xs [1,2,0,2]+ , Xs [1,2,1,0,0]+ , Xs [1,2,1,1]+ , Xs [1,2,2,0]+ , Xs [1,2,15]+ , Xs [1,15,0,0,0]+ , Xs [1,15,0,1]+ , Xs [1,15,1,0]+ , Xs [1,15,2]+ , Xs [1,3,0,0]+ , Xs [1,3,1]+ , Xs [1,4,0]+ , Xs [1,14]+ , Xs [2,0,0,0,0,0,0]+ , Xs [2,0,0,0,0,1]+ , Xs [2,0,0,0,1,0]+ , Xs [2,0,0,0,2]+ , Xs [2,0,0,1,0,0]+ , Xs [2,0,0,1,1]+ , Xs [2,0,0,2,0]+ , Xs [2,0,0,15]+ , Xs [2,0,1,0,0,0]+ , Xs [2,0,1,0,1]+ , Xs [2,0,1,1,0]+ , Xs [2,0,1,2]+ , Xs [2,0,2,0,0]+ , Xs [2,0,2,1]+ , Xs [2,0,15,0]+ , Xs [2,0,3]+ , Xs [2,1,0,0,0,0]+ , Xs [2,1,0,0,1]+ , Xs [2,1,0,1,0]+ , Xs [2,1,0,2]+ , Xs [2,1,1,0,0]+ , Xs [2,1,1,1]+ , Xs [2,1,2,0]+ , Xs [2,1,15]+ , Xs [2,2,0,0,0]+ , Xs [2,2,0,1]+ , Xs [2,2,1,0]+ , Xs [2,2,2]+ , Xs [2,15,0,0]+ , Xs [2,15,1]+ , Xs [2,3,0]+ , Xs [2,4]+ , Xs [15,0,0,0,0,0]+ , Xs [15,0,0,0,1]+ , Xs [15,0,0,1,0]+ , Xs [15,0,0,2]+ , Xs [15,0,1,0,0]+ , Xs [15,0,1,1]+ , Xs [15,0,2,0]+ , Xs [15,0,15]+ , Xs [15,1,0,0,0]+ , Xs [15,1,0,1]+ , Xs [15,1,1,0]+ , Xs [15,1,2]+ , Xs [15,2,0,0]+ , Xs [15,2,1]+ , Xs [15,15,0]+ , Xs [15,3]+ , Xs [3,0,0,0,0]+ , Xs [3,0,0,1]+ , Xs [3,0,1,0]+ , Xs [3,0,2]+ , Xs [3,1,0,0]+ , Xs [3,1,1]+ , Xs [3,2,0]+ , Xs [3,15]+ , Xs [4,0,0,0]+ , Xs [4,0,1]+ , Xs [4,1,0]+ , Xs [4,2]+ , Xs [14,0,0]+ , Xs [14,1]+ , Xs [5,0]+ , Xs [6]+ ]+ , [ Xs [0,0,0,0,0,0,0,0,0,0]+ , Xs [0,0,0,0,0,0,0,0,1]+ , Xs [0,0,0,0,0,0,0,1,0]+ , Xs [0,0,0,0,0,0,0,2]+ , Xs [0,0,0,0,0,0,1,0,0]+ , Xs [0,0,0,0,0,0,1,1]+ , Xs [0,0,0,0,0,0,2,0]+ , Xs [0,0,0,0,0,0,15]+ , Xs [0,0,0,0,0,1,0,0,0]+ , Xs [0,0,0,0,0,1,0,1]+ , Xs [0,0,0,0,0,1,1,0]+ , Xs [0,0,0,0,0,1,2]+ , Xs [0,0,0,0,0,2,0,0]+ , Xs [0,0,0,0,0,2,1]+ , Xs [0,0,0,0,0,15,0]+ , Xs [0,0,0,0,0,3]+ , Xs [0,0,0,0,1,0,0,0,0]+ , Xs [0,0,0,0,1,0,0,1]+ , Xs [0,0,0,0,1,0,1,0]+ , Xs [0,0,0,0,1,0,2]+ , Xs [0,0,0,0,1,1,0,0]+ , Xs [0,0,0,0,1,1,1]+ , Xs [0,0,0,0,1,2,0]+ , Xs [0,0,0,0,1,15]+ , Xs [0,0,0,0,2,0,0,0]+ , Xs [0,0,0,0,2,0,1]+ , Xs [0,0,0,0,2,1,0]+ , Xs [0,0,0,0,2,2]+ , Xs [0,0,0,0,15,0,0]+ , Xs [0,0,0,0,15,1]+ , Xs [0,0,0,0,3,0]+ , Xs [0,0,0,0,4]+ , Xs [0,0,0,1,0,0,0,0,0]+ , Xs [0,0,0,1,0,0,0,1]+ , Xs [0,0,0,1,0,0,1,0]+ , Xs [0,0,0,1,0,0,2]+ , Xs [0,0,0,1,0,1,0,0]+ , Xs [0,0,0,1,0,1,1]+ , Xs [0,0,0,1,0,2,0]+ , Xs [0,0,0,1,0,15]+ , Xs [0,0,0,1,1,0,0,0]+ , Xs [0,0,0,1,1,0,1]+ , Xs [0,0,0,1,1,1,0]+ , Xs [0,0,0,1,1,2]+ , Xs [0,0,0,1,2,0,0]+ , Xs [0,0,0,1,2,1]+ , Xs [0,0,0,1,15,0]+ , Xs [0,0,0,1,3]+ , Xs [0,0,0,2,0,0,0,0]+ , Xs [0,0,0,2,0,0,1]+ , Xs [0,0,0,2,0,1,0]+ , Xs [0,0,0,2,0,2]+ , Xs [0,0,0,2,1,0,0]+ , Xs [0,0,0,2,1,1]+ , Xs [0,0,0,2,2,0]+ , Xs [0,0,0,2,15]+ , Xs [0,0,0,15,0,0,0]+ , Xs [0,0,0,15,0,1]+ , Xs [0,0,0,15,1,0]+ , Xs [0,0,0,15,2]+ , Xs [0,0,0,3,0,0]+ , Xs [0,0,0,3,1]+ , Xs [0,0,0,4,0]+ , Xs [0,0,0,14]+ , Xs [0,0,1,0,0,0,0,0,0]+ , Xs [0,0,1,0,0,0,0,1]+ , Xs [0,0,1,0,0,0,1,0]+ , Xs [0,0,1,0,0,0,2]+ , Xs [0,0,1,0,0,1,0,0]+ , Xs [0,0,1,0,0,1,1]+ , Xs [0,0,1,0,0,2,0]+ , Xs [0,0,1,0,0,15]+ , Xs [0,0,1,0,1,0,0,0]+ , Xs [0,0,1,0,1,0,1]+ , Xs [0,0,1,0,1,1,0]+ , Xs [0,0,1,0,1,2]+ , Xs [0,0,1,0,2,0,0]+ , Xs [0,0,1,0,2,1]+ , Xs [0,0,1,0,15,0]+ , Xs [0,0,1,0,3]+ , Xs [0,0,1,1,0,0,0,0]+ , Xs [0,0,1,1,0,0,1]+ , Xs [0,0,1,1,0,1,0]+ , Xs [0,0,1,1,0,2]+ , Xs [0,0,1,1,1,0,0]+ , Xs [0,0,1,1,1,1]+ , Xs [0,0,1,1,2,0]+ , Xs [0,0,1,1,15]+ , Xs [0,0,1,2,0,0,0]+ , Xs [0,0,1,2,0,1]+ , Xs [0,0,1,2,1,0]+ , Xs [0,0,1,2,2]+ , Xs [0,0,1,15,0,0]+ , Xs [0,0,1,15,1]+ , Xs [0,0,1,3,0]+ , Xs [0,0,1,4]+ , Xs [0,0,2,0,0,0,0,0]+ , Xs [0,0,2,0,0,0,1]+ , Xs [0,0,2,0,0,1,0]+ , Xs [0,0,2,0,0,2]+ , Xs [0,0,2,0,1,0,0]+ , Xs [0,0,2,0,1,1]+ , Xs [0,0,2,0,2,0]+ , Xs [0,0,2,0,15]+ , Xs [0,0,2,1,0,0,0]+ , Xs [0,0,2,1,0,1]+ , Xs [0,0,2,1,1,0]+ , Xs [0,0,2,1,2]+ , Xs [0,0,2,2,0,0]+ , Xs [0,0,2,2,1]+ , Xs [0,0,2,15,0]+ , Xs [0,0,2,3]+ , Xs [0,0,15,0,0,0,0]+ , Xs [0,0,15,0,0,1]+ , Xs [0,0,15,0,1,0]+ , Xs [0,0,15,0,2]+ , Xs [0,0,15,1,0,0]+ , Xs [0,0,15,1,1]+ , Xs [0,0,15,2,0]+ , Xs [0,0,15,15]+ , Xs [0,0,3,0,0,0]+ , Xs [0,0,3,0,1]+ , Xs [0,0,3,1,0]+ , Xs [0,0,3,2]+ , Xs [0,0,4,0,0]+ , Xs [0,0,4,1]+ , Xs [0,0,14,0]+ , Xs [0,0,5]+ , Xs [0,1,0,0,0,0,0,0,0]+ , Xs [0,1,0,0,0,0,0,1]+ , Xs [0,1,0,0,0,0,1,0]+ , Xs [0,1,0,0,0,0,2]+ , Xs [0,1,0,0,0,1,0,0]+ , Xs [0,1,0,0,0,1,1]+ , Xs [0,1,0,0,0,2,0]+ , Xs [0,1,0,0,0,15]+ , Xs [0,1,0,0,1,0,0,0]+ , Xs [0,1,0,0,1,0,1]+ , Xs [0,1,0,0,1,1,0]+ , Xs [0,1,0,0,1,2]+ , Xs [0,1,0,0,2,0,0]+ , Xs [0,1,0,0,2,1]+ , Xs [0,1,0,0,15,0]+ , Xs [0,1,0,0,3]+ , Xs [0,1,0,1,0,0,0,0]+ , Xs [0,1,0,1,0,0,1]+ , Xs [0,1,0,1,0,1,0]+ , Xs [0,1,0,1,0,2]+ , Xs [0,1,0,1,1,0,0]+ , Xs [0,1,0,1,1,1]+ , Xs [0,1,0,1,2,0]+ , Xs [0,1,0,1,15]+ , Xs [0,1,0,2,0,0,0]+ , Xs [0,1,0,2,0,1]+ , Xs [0,1,0,2,1,0]+ , Xs [0,1,0,2,2]+ , Xs [0,1,0,15,0,0]+ , Xs [0,1,0,15,1]+ , Xs [0,1,0,3,0]+ , Xs [0,1,0,4]+ , Xs [0,1,1,0,0,0,0,0]+ , Xs [0,1,1,0,0,0,1]+ , Xs [0,1,1,0,0,1,0]+ , Xs [0,1,1,0,0,2]+ , Xs [0,1,1,0,1,0,0]+ , Xs [0,1,1,0,1,1]+ , Xs [0,1,1,0,2,0]+ , Xs [0,1,1,0,15]+ , Xs [0,1,1,1,0,0,0]+ , Xs [0,1,1,1,0,1]+ , Xs [0,1,1,1,1,0]+ , Xs [0,1,1,1,2]+ , Xs [0,1,1,2,0,0]+ , Xs [0,1,1,2,1]+ , Xs [0,1,1,15,0]+ , Xs [0,1,1,3]+ , Xs [0,1,2,0,0,0,0]+ , Xs [0,1,2,0,0,1]+ , Xs [0,1,2,0,1,0]+ , Xs [0,1,2,0,2]+ , Xs [0,1,2,1,0,0]+ , Xs [0,1,2,1,1]+ , Xs [0,1,2,2,0]+ , Xs [0,1,2,15]+ , Xs [0,1,15,0,0,0]+ , Xs [0,1,15,0,1]+ , Xs [0,1,15,1,0]+ , Xs [0,1,15,2]+ , Xs [0,1,3,0,0]+ , Xs [0,1,3,1]+ , Xs [0,1,4,0]+ , Xs [0,1,14]+ , Xs [0,2,0,0,0,0,0,0]+ , Xs [0,2,0,0,0,0,1]+ , Xs [0,2,0,0,0,1,0]+ , Xs [0,2,0,0,0,2]+ , Xs [0,2,0,0,1,0,0]+ , Xs [0,2,0,0,1,1]+ , Xs [0,2,0,0,2,0]+ , Xs [0,2,0,0,15]+ , Xs [0,2,0,1,0,0,0]+ , Xs [0,2,0,1,0,1]+ , Xs [0,2,0,1,1,0]+ , Xs [0,2,0,1,2]+ , Xs [0,2,0,2,0,0]+ , Xs [0,2,0,2,1]+ , Xs [0,2,0,15,0]+ , Xs [0,2,0,3]+ , Xs [0,2,1,0,0,0,0]+ , Xs [0,2,1,0,0,1]+ , Xs [0,2,1,0,1,0]+ , Xs [0,2,1,0,2]+ , Xs [0,2,1,1,0,0]+ , Xs [0,2,1,1,1]+ , Xs [0,2,1,2,0]+ , Xs [0,2,1,15]+ , Xs [0,2,2,0,0,0]+ , Xs [0,2,2,0,1]+ , Xs [0,2,2,1,0]+ , Xs [0,2,2,2]+ , Xs [0,2,15,0,0]+ , Xs [0,2,15,1]+ , Xs [0,2,3,0]+ , Xs [0,2,4]+ , Xs [0,15,0,0,0,0,0]+ , Xs [0,15,0,0,0,1]+ , Xs [0,15,0,0,1,0]+ , Xs [0,15,0,0,2]+ , Xs [0,15,0,1,0,0]+ , Xs [0,15,0,1,1]+ , Xs [0,15,0,2,0]+ , Xs [0,15,0,15]+ , Xs [0,15,1,0,0,0]+ , Xs [0,15,1,0,1]+ , Xs [0,15,1,1,0]+ , Xs [0,15,1,2]+ , Xs [0,15,2,0,0]+ , Xs [0,15,2,1]+ , Xs [0,15,15,0]+ , Xs [0,15,3]+ , Xs [0,3,0,0,0,0]+ , Xs [0,3,0,0,1]+ , Xs [0,3,0,1,0]+ , Xs [0,3,0,2]+ , Xs [0,3,1,0,0]+ , Xs [0,3,1,1]+ , Xs [0,3,2,0]+ , Xs [0,3,15]+ , Xs [0,4,0,0,0]+ , Xs [0,4,0,1]+ , Xs [0,4,1,0]+ , Xs [0,4,2]+ , Xs [0,14,0,0]+ , Xs [0,14,1]+ , Xs [0,5,0]+ , Xs [0,6]+ , Xs [1,0,0,0,0,0,0,0,0]+ , Xs [1,0,0,0,0,0,0,1]+ , Xs [1,0,0,0,0,0,1,0]+ , Xs [1,0,0,0,0,0,2]+ , Xs [1,0,0,0,0,1,0,0]+ , Xs [1,0,0,0,0,1,1]+ , Xs [1,0,0,0,0,2,0]+ , Xs [1,0,0,0,0,15]+ , Xs [1,0,0,0,1,0,0,0]+ , Xs [1,0,0,0,1,0,1]+ , Xs [1,0,0,0,1,1,0]+ , Xs [1,0,0,0,1,2]+ , Xs [1,0,0,0,2,0,0]+ , Xs [1,0,0,0,2,1]+ , Xs [1,0,0,0,15,0]+ , Xs [1,0,0,0,3]+ , Xs [1,0,0,1,0,0,0,0]+ , Xs [1,0,0,1,0,0,1]+ , Xs [1,0,0,1,0,1,0]+ , Xs [1,0,0,1,0,2]+ , Xs [1,0,0,1,1,0,0]+ , Xs [1,0,0,1,1,1]+ , Xs [1,0,0,1,2,0]+ , Xs [1,0,0,1,15]+ , Xs [1,0,0,2,0,0,0]+ , Xs [1,0,0,2,0,1]+ , Xs [1,0,0,2,1,0]+ , Xs [1,0,0,2,2]+ , Xs [1,0,0,15,0,0]+ , Xs [1,0,0,15,1]+ , Xs [1,0,0,3,0]+ , Xs [1,0,0,4]+ , Xs [1,0,1,0,0,0,0,0]+ , Xs [1,0,1,0,0,0,1]+ , Xs [1,0,1,0,0,1,0]+ , Xs [1,0,1,0,0,2]+ , Xs [1,0,1,0,1,0,0]+ , Xs [1,0,1,0,1,1]+ , Xs [1,0,1,0,2,0]+ , Xs [1,0,1,0,15]+ , Xs [1,0,1,1,0,0,0]+ , Xs [1,0,1,1,0,1]+ , Xs [1,0,1,1,1,0]+ , Xs [1,0,1,1,2]+ , Xs [1,0,1,2,0,0]+ , Xs [1,0,1,2,1]+ , Xs [1,0,1,15,0]+ , Xs [1,0,1,3]+ , Xs [1,0,2,0,0,0,0]+ , Xs [1,0,2,0,0,1]+ , Xs [1,0,2,0,1,0]+ , Xs [1,0,2,0,2]+ , Xs [1,0,2,1,0,0]+ , Xs [1,0,2,1,1]+ , Xs [1,0,2,2,0]+ , Xs [1,0,2,15]+ , Xs [1,0,15,0,0,0]+ , Xs [1,0,15,0,1]+ , Xs [1,0,15,1,0]+ , Xs [1,0,15,2]+ , Xs [1,0,3,0,0]+ , Xs [1,0,3,1]+ , Xs [1,0,4,0]+ , Xs [1,0,14]+ , Xs [1,1,0,0,0,0,0,0]+ , Xs [1,1,0,0,0,0,1]+ , Xs [1,1,0,0,0,1,0]+ , Xs [1,1,0,0,0,2]+ , Xs [1,1,0,0,1,0,0]+ , Xs [1,1,0,0,1,1]+ , Xs [1,1,0,0,2,0]+ , Xs [1,1,0,0,15]+ , Xs [1,1,0,1,0,0,0]+ , Xs [1,1,0,1,0,1]+ , Xs [1,1,0,1,1,0]+ , Xs [1,1,0,1,2]+ , Xs [1,1,0,2,0,0]+ , Xs [1,1,0,2,1]+ , Xs [1,1,0,15,0]+ , Xs [1,1,0,3]+ , Xs [1,1,1,0,0,0,0]+ , Xs [1,1,1,0,0,1]+ , Xs [1,1,1,0,1,0]+ , Xs [1,1,1,0,2]+ , Xs [1,1,1,1,0,0]+ , Xs [1,1,1,1,1]+ , Xs [1,1,1,2,0]+ , Xs [1,1,1,15]+ , Xs [1,1,2,0,0,0]+ , Xs [1,1,2,0,1]+ , Xs [1,1,2,1,0]+ , Xs [1,1,2,2]+ , Xs [1,1,15,0,0]+ , Xs [1,1,15,1]+ , Xs [1,1,3,0]+ , Xs [1,1,4]+ , Xs [1,2,0,0,0,0,0]+ , Xs [1,2,0,0,0,1]+ , Xs [1,2,0,0,1,0]+ , Xs [1,2,0,0,2]+ , Xs [1,2,0,1,0,0]+ , Xs [1,2,0,1,1]+ , Xs [1,2,0,2,0]+ , Xs [1,2,0,15]+ , Xs [1,2,1,0,0,0]+ , Xs [1,2,1,0,1]+ , Xs [1,2,1,1,0]+ , Xs [1,2,1,2]+ , Xs [1,2,2,0,0]+ , Xs [1,2,2,1]+ , Xs [1,2,15,0]+ , Xs [1,2,3]+ , Xs [1,15,0,0,0,0]+ , Xs [1,15,0,0,1]+ , Xs [1,15,0,1,0]+ , Xs [1,15,0,2]+ , Xs [1,15,1,0,0]+ , Xs [1,15,1,1]+ , Xs [1,15,2,0]+ , Xs [1,15,15]+ , Xs [1,3,0,0,0]+ , Xs [1,3,0,1]+ , Xs [1,3,1,0]+ , Xs [1,3,2]+ , Xs [1,4,0,0]+ , Xs [1,4,1]+ , Xs [1,14,0]+ , Xs [1,5]+ , Xs [2,0,0,0,0,0,0,0]+ , Xs [2,0,0,0,0,0,1]+ , Xs [2,0,0,0,0,1,0]+ , Xs [2,0,0,0,0,2]+ , Xs [2,0,0,0,1,0,0]+ , Xs [2,0,0,0,1,1]+ , Xs [2,0,0,0,2,0]+ , Xs [2,0,0,0,15]+ , Xs [2,0,0,1,0,0,0]+ , Xs [2,0,0,1,0,1]+ , Xs [2,0,0,1,1,0]+ , Xs [2,0,0,1,2]+ , Xs [2,0,0,2,0,0]+ , Xs [2,0,0,2,1]+ , Xs [2,0,0,15,0]+ , Xs [2,0,0,3]+ , Xs [2,0,1,0,0,0,0]+ , Xs [2,0,1,0,0,1]+ , Xs [2,0,1,0,1,0]+ , Xs [2,0,1,0,2]+ , Xs [2,0,1,1,0,0]+ , Xs [2,0,1,1,1]+ , Xs [2,0,1,2,0]+ , Xs [2,0,1,15]+ , Xs [2,0,2,0,0,0]+ , Xs [2,0,2,0,1]+ , Xs [2,0,2,1,0]+ , Xs [2,0,2,2]+ , Xs [2,0,15,0,0]+ , Xs [2,0,15,1]+ , Xs [2,0,3,0]+ , Xs [2,0,4]+ , Xs [2,1,0,0,0,0,0]+ , Xs [2,1,0,0,0,1]+ , Xs [2,1,0,0,1,0]+ , Xs [2,1,0,0,2]+ , Xs [2,1,0,1,0,0]+ , Xs [2,1,0,1,1]+ , Xs [2,1,0,2,0]+ , Xs [2,1,0,15]+ , Xs [2,1,1,0,0,0]+ , Xs [2,1,1,0,1]+ , Xs [2,1,1,1,0]+ , Xs [2,1,1,2]+ , Xs [2,1,2,0,0]+ , Xs [2,1,2,1]+ , Xs [2,1,15,0]+ , Xs [2,1,3]+ , Xs [2,2,0,0,0,0]+ , Xs [2,2,0,0,1]+ , Xs [2,2,0,1,0]+ , Xs [2,2,0,2]+ , Xs [2,2,1,0,0]+ , Xs [2,2,1,1]+ , Xs [2,2,2,0]+ , Xs [2,2,15]+ , Xs [2,15,0,0,0]+ , Xs [2,15,0,1]+ , Xs [2,15,1,0]+ , Xs [2,15,2]+ , Xs [2,3,0,0]+ , Xs [2,3,1]+ , Xs [2,4,0]+ , Xs [2,14]+ , Xs [15,0,0,0,0,0,0]+ , Xs [15,0,0,0,0,1]+ , Xs [15,0,0,0,1,0]+ , Xs [15,0,0,0,2]+ , Xs [15,0,0,1,0,0]+ , Xs [15,0,0,1,1]+ , Xs [15,0,0,2,0]+ , Xs [15,0,0,15]+ , Xs [15,0,1,0,0,0]+ , Xs [15,0,1,0,1]+ , Xs [15,0,1,1,0]+ , Xs [15,0,1,2]+ , Xs [15,0,2,0,0]+ , Xs [15,0,2,1]+ , Xs [15,0,15,0]+ , Xs [15,0,3]+ , Xs [15,1,0,0,0,0]+ , Xs [15,1,0,0,1]+ , Xs [15,1,0,1,0]+ , Xs [15,1,0,2]+ , Xs [15,1,1,0,0]+ , Xs [15,1,1,1]+ , Xs [15,1,2,0]+ , Xs [15,1,15]+ , Xs [15,2,0,0,0]+ , Xs [15,2,0,1]+ , Xs [15,2,1,0]+ , Xs [15,2,2]+ , Xs [15,15,0,0]+ , Xs [15,15,1]+ , Xs [15,3,0]+ , Xs [15,4]+ , Xs [3,0,0,0,0,0]+ , Xs [3,0,0,0,1]+ , Xs [3,0,0,1,0]+ , Xs [3,0,0,2]+ , Xs [3,0,1,0,0]+ , Xs [3,0,1,1]+ , Xs [3,0,2,0]+ , Xs [3,0,15]+ , Xs [3,1,0,0,0]+ , Xs [3,1,0,1]+ , Xs [3,1,1,0]+ , Xs [3,1,2]+ , Xs [3,2,0,0]+ , Xs [3,2,1]+ , Xs [3,15,0]+ , Xs [3,3]+ , Xs [4,0,0,0,0]+ , Xs [4,0,0,1]+ , Xs [4,0,1,0]+ , Xs [4,0,2]+ , Xs [4,1,0,0]+ , Xs [4,1,1]+ , Xs [4,2,0]+ , Xs [4,15]+ , Xs [14,0,0,0]+ , Xs [14,0,1]+ , Xs [14,1,0]+ , Xs [14,2]+ , Xs [5,0,0]+ , Xs [5,1]+ , Xs [6,0]+ , Xs [13]+ ]+ , ...+ ]
+ test/diff/tiers-default-Bool-Bool-Bool-Bool.out view
@@ -0,0 +1,1059 @@+map length (tiers :: [[ Bool->Bool->Bool->Bool ]]) = [256]++length (list :: [ Bool->Bool->Bool->Bool ]) = Infinity++allUnique (list :: [ Bool->Bool->Bool->Bool ]) = True++ratioRepetitions (list :: [ Bool->Bool->Bool->Bool ]) = 0 % 1++tiers :: [Bool->Bool->Bool->Bool] =+ [ [ \_ _ _ -> False+ , \x y z -> case (x,y,z) of+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,True,False) -> True+ _ -> False+ , \x y _ -> case (x,y) of+ (True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,False,True) -> True+ _ -> False+ , \x _ z -> case (x,z) of+ (True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,False,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,_) -> False+ (_,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,False,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x _ z -> case (x,z) of+ (True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,_,False) -> True+ (True,True,_) -> True+ _ -> False+ , \x y _ -> case (x,y) of+ (True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,False,_) -> True+ (True,_,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,False,_) -> True+ (True,_,False) -> True+ _ -> False+ , \x _ _ -> case x of+ False -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,True) -> True+ _ -> False+ , \_ y z -> case (y,z) of+ (True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (_,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,True) -> True+ (True,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,True) -> True+ (True,False,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,False) -> False+ (_,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,True) -> True+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,True,True) -> True+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,True) -> True+ (True,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,False) -> False+ (_,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,True) -> True+ (True,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,False) -> False+ (_,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,False) -> True+ (True,True,True) -> True+ _ -> False+ , \_ y z -> case (y,z) of+ (True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,True,False) -> True+ (True,True,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,False) -> True+ (True,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,False) -> True+ (True,_,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,True,False) -> True+ (True,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,False,False) -> False+ (False,_,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> True+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,False) -> True+ (True,False,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,True) -> False+ (_,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> True+ (True,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,True) -> False+ (_,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,True) -> False+ _ -> True+ , \x y _ -> case (x,y) of+ (False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,_) -> True+ (_,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,_) -> True+ (_,True,False) -> True+ _ -> False+ , \_ y _ -> case y of+ False -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,_) -> True+ (True,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,False,False) -> False+ (True,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,False,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,_) -> True+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,False,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (False,_,_) -> True+ (_,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (_,False,True) -> False+ _ -> True+ , \x y _ -> case (x,y) of+ (False,False) -> False+ (True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> False+ (True,True,True) -> False+ _ -> True+ , \x y _ -> case (x,y) of+ (False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (True,True,_) -> True+ _ -> False+ , \_ y z -> case (y,z) of+ (False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,True) -> True+ (True,_,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (_,False,False) -> False+ (False,True,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (True,False,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (True,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (False,True,_) -> False+ (True,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (_,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (False,True,_) -> False+ (_,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (False,True,_) -> False+ (_,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (False,True,_) -> False+ _ -> True+ , \x _ z -> case (x,z) of+ (False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,True) -> True+ (_,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (_,False,False) -> False+ (True,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,True) -> True+ (_,False,True) -> True+ _ -> False+ , \_ _ z -> case z of+ False -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (_,False,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (_,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,True) -> True+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (True,False,True) -> False+ (_,True,False) -> False+ _ -> True+ , \x _ z -> case (x,z) of+ (False,False) -> False+ (True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (True,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (False,_,_) -> True+ (_,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (_,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x _ z -> case (x,z) of+ (False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (False,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (False,True,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (_,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (False,True,True) -> False+ (True,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,True) -> True+ (False,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (False,True,True) -> False+ (True,_,False) -> False+ _ -> True+ , \_ y z -> case (y,z) of+ (False,False) -> False+ (True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (False,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> True+ (False,True,False) -> True+ (True,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (False,True,True) -> False+ (True,False,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (False,False,_) -> True+ (_,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (False,True,True) -> False+ (True,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (_,False,_) -> True+ (False,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (False,True,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (_,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (False,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (False,_,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (True,False,_) -> False+ (True,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (True,False,_) -> False+ (True,_,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (True,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (False,_,_) -> True+ (_,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (True,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> False+ (True,True,True) -> False+ _ -> True+ , \_ y z -> case (y,z) of+ (False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (False,_,_) -> True+ (_,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (True,False,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (True,_,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (True,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (True,True,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (True,True,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (True,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (True,_,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (True,False,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (False,_,_) -> False+ (_,False,False) -> False+ _ -> True+ , \_ y z -> case (y,z) of+ (False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (True,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (False,_,_) -> False+ (_,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (True,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (True,False,_) -> True+ (True,_,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (True,False,_) -> True+ (True,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (False,_,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (False,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (_,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (False,True,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (_,False,_) -> False+ (False,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (False,True,True) -> True+ (True,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (False,False,_) -> False+ (_,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,False) -> True+ (False,True,True) -> True+ (True,False,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (False,True,False) -> False+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (False,True,True) -> True+ _ -> False+ , \_ y z -> case (y,z) of+ (False,False) -> True+ (True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (False,True,True) -> True+ (True,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,True) -> False+ (False,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,False) -> True+ (False,True,True) -> True+ (True,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (_,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (False,True,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (False,True,False) -> False+ _ -> True+ , \x _ z -> case (x,z) of+ (False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (_,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (False,_,_) -> False+ (_,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (True,False,True) -> True+ _ -> False+ , \x _ z -> case (x,z) of+ (False,False) -> True+ (True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (True,False,True) -> True+ (_,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,True) -> False+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (_,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (_,False,False) -> True+ (True,True,True) -> True+ _ -> False+ , \_ _ z -> case z of+ False -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,True) -> False+ (_,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (_,False,False) -> True+ (True,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,True) -> False+ (_,True,True) -> False+ _ -> True+ , \x _ z -> case (x,z) of+ (False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (False,True,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (False,True,_) -> True+ (_,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (False,True,_) -> True+ (_,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (_,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (False,True,_) -> True+ (True,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (True,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (True,False,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (_,False,False) -> True+ (False,True,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,False,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,False,True) -> False+ (True,_,True) -> False+ _ -> True+ , \_ y z -> case (y,z) of+ (False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (True,True,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,True) -> False+ _ -> True+ , \x y _ -> case (x,y) of+ (False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (True,True,False) -> True+ _ -> False+ , \x y _ -> case (x,y) of+ (False,False) -> True+ (True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,_) -> False+ (_,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,False,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,_) -> False+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,False,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,False,False) -> True+ (True,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,_) -> False+ (True,False,True) -> False+ _ -> True+ , \_ y _ -> case y of+ False -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,_) -> False+ (_,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,_) -> False+ (_,True,True) -> False+ _ -> True+ , \x y _ -> case (x,y) of+ (False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,True) -> True+ (_,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,True) -> True+ (True,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,False) -> False+ (True,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,True) -> True+ (_,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> False+ (True,False,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> False+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,False,False) -> True+ (False,_,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (_,True,False) -> False+ (True,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> False+ (True,_,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> False+ (True,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,True,False) -> False+ (True,True,_) -> False+ _ -> True+ , \_ y z -> case (y,z) of+ (True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,False) -> True+ (True,True,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,False) -> True+ (_,True,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,True) -> False+ (True,False,_) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,False) -> True+ (_,False,True) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,True) -> False+ (True,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (_,True,True) -> False+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,True) -> False+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (False,_,False) -> True+ (_,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,True) -> False+ (True,False,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,False,_) -> True+ (_,_,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,True) -> False+ (True,False,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,False) -> True+ (_,False,_) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (False,True,True) -> False+ (True,True,False) -> False+ _ -> True+ , \_ y z -> case (y,z) of+ (True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,True,True) -> False+ _ -> True+ , \x _ _ -> case x of+ False -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,False,_) -> False+ (True,_,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,False,_) -> False+ (True,_,True) -> False+ _ -> True+ , \x y _ -> case (x,y) of+ (True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,_,False) -> False+ (True,True,_) -> False+ _ -> True+ , \x _ z -> case (x,z) of+ (True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,False,False) -> False+ (True,True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,False,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (False,_,_) -> True+ (_,False,False) -> True+ _ -> False+ , \x y z -> case (x,y,z) of+ (True,False,True) -> False+ (True,True,False) -> False+ _ -> True+ , \x _ z -> case (x,z) of+ (True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,False,True) -> False+ _ -> True+ , \x y _ -> case (x,y) of+ (True,True) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,True,False) -> False+ _ -> True+ , \x y z -> case (x,y,z) of+ (True,True,True) -> False+ _ -> True+ , \_ _ _ -> True+ ]+ ]
+ test/diff/tiers-default-Bool-Bool-Bool.out view
@@ -0,0 +1,57 @@+map length (tiers :: [[ Bool->Bool->Bool ]]) = [16]++length (list :: [ Bool->Bool->Bool ]) = Infinity++allUnique (list :: [ Bool->Bool->Bool ]) = True++ratioRepetitions (list :: [ Bool->Bool->Bool ]) = 0 % 1++tiers :: [Bool->Bool->Bool] =+ [ [ \_ _ -> False+ , \x y -> case (x,y) of+ (True,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,False) -> True+ _ -> False+ , \x _ -> case x of+ False -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,True) -> True+ _ -> False+ , \_ y -> case y of+ False -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,False) -> False+ (True,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,False) -> True+ (True,True) -> True+ _ -> False+ , \_ y -> case y of+ False -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,True) -> False+ _ -> True+ , \x _ -> case x of+ False -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,True) -> False+ _ -> True+ , \_ _ -> True+ ]+ ]
+ test/diff/tiers-default-Bool-Bool.out view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Bool->Bool ]]) = [4]++length (list :: [ Bool->Bool ]) = 4++allUnique (list :: [ Bool->Bool ]) = True++ratioRepetitions (list :: [ Bool->Bool ]) = 0 % 1++tiers :: [Bool->Bool] =+ [ [ \_ -> False+ , \x -> case x of+ False -> False+ True -> True+ , \x -> case x of+ False -> True+ True -> False+ , \_ -> True+ ]+ ]
+ test/diff/tiers-default-Bool-Int-Bool.out view
@@ -0,0 +1,709 @@+map length (tiers :: [[ Bool->Int->Bool ]]) = [4,8,12,24,36,56,...]++length (list :: [ Bool->Int->Bool ]) = Infinity++allUnique (list :: [ Bool->Int->Bool ]) = True++ratioRepetitions (list :: [ Bool->Int->Bool ]) = 0 % 1++tiers :: [Bool->Int->Bool] =+ [ [ \_ _ -> False+ , \x _ -> case x of+ False -> False+ _ -> True+ , \x _ -> case x of+ False -> True+ _ -> False+ , \_ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (True,0) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,0) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (True,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> True+ (_,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> False+ (_,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,1) -> False+ _ -> True+ , \_ y -> case y of+ 0 -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (False,_) -> True+ _ -> False+ , \_ y -> case y of+ 0 -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,_) -> True+ (_,0) -> True+ (_,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,_) -> False+ (_,0) -> False+ (_,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,1) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (True,0) -> True+ (True,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> False+ (_,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> True+ (_,1) -> True+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> True+ (_,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> False+ (_,1) -> False+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,0) -> False+ (True,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,_) -> False+ (_,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,_) -> True+ (_,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,0) -> True+ (False,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (_,1) -> True+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (_,1) -> False+ (False,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,0) -> False+ (False,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (False,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> True+ (_,1) -> True+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,_) -> True+ (_,0) -> True+ (_,1) -> False+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (_,1) -> False+ (False,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (False,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,_) -> False+ (_,0) -> False+ (_,1) -> True+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,-1) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (True,0) -> True+ (True,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> False+ (_,1) -> True+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> True+ (_,1) -> True+ (_,-1) -> True+ (_,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> True+ (_,1) -> False+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> False+ (_,1) -> False+ (_,-1) -> False+ (_,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,0) -> False+ (True,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (True,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (False,_) -> False+ (_,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,_) -> False+ (_,1) -> True+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (False,_) -> True+ (_,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,_) -> True+ (_,1) -> False+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (True,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,-1) -> False+ _ -> True+ , \_ y -> case y of+ 1 -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (False,1) -> True+ (_,1) -> False+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (False,1) -> False+ (_,1) -> True+ (False,_) -> True+ _ -> False+ , \_ y -> case y of+ 1 -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (_,1) -> True+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,0) -> True+ (False,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,1) -> False+ (True,_) -> True+ (_,1) -> True+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (_,1) -> False+ (False,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,1) -> True+ (True,_) -> False+ (_,1) -> False+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,0) -> False+ (False,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (False,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,1) -> False+ (True,_) -> True+ (_,1) -> True+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,_) -> True+ (_,0) -> True+ (_,1) -> False+ (_,-1) -> False+ (_,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,1) -> True+ (True,_) -> False+ (_,1) -> False+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (False,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,_) -> False+ (_,0) -> False+ (_,1) -> True+ (_,-1) -> True+ (_,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,2) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (True,0) -> True+ (True,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,1) -> True+ (True,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,-2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> False+ (_,1) -> True+ (_,-1) -> True+ (_,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> True+ (_,1) -> False+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> False+ (_,0) -> True+ (_,1) -> True+ (_,-1) -> True+ (_,2) -> True+ (_,-2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> True+ (_,1) -> False+ (_,-1) -> False+ (_,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> False+ (_,1) -> True+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,_) -> True+ (_,0) -> False+ (_,1) -> False+ (_,-1) -> False+ (_,2) -> False+ (_,-2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,0) -> False+ (True,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,1) -> False+ (True,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,-2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (True,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (False,_) -> False+ (_,1) -> True+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,_) -> False+ (_,1) -> True+ (_,-1) -> True+ (_,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (False,_) -> True+ (_,1) -> False+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,_) -> True+ (_,1) -> False+ (_,-1) -> False+ (_,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (True,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,0) -> True+ (_,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,1) -> True+ (True,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,1) -> True+ (_,1) -> False+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (_,1) -> True+ (False,_) -> False+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,1) -> False+ (_,1) -> True+ (False,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (_,1) -> False+ (False,_) -> True+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,0) -> False+ (_,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,1) -> False+ (True,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,1) -> True+ (_,1) -> False+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,1) -> True+ (False,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (_,1) -> False+ (_,-1) -> True+ (False,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,1) -> False+ (_,1) -> True+ (False,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (_,1) -> True+ (_,-1) -> False+ (False,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,1) -> False+ (False,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> True+ (_,0) -> False+ (False,1) -> False+ (True,_) -> True+ (_,1) -> True+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (True,0) -> True+ (False,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,1) -> False+ (True,_) -> True+ (_,1) -> True+ (_,-1) -> False+ (_,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (_,0) -> True+ (False,1) -> True+ (True,_) -> False+ (_,1) -> False+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,1) -> True+ (True,_) -> False+ (_,1) -> False+ (_,-1) -> True+ (_,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (True,0) -> False+ (False,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (False,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> True+ (False,1) -> False+ (True,_) -> True+ (_,1) -> True+ (_,-1) -> False+ (_,2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,1) -> True+ (False,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,_) -> True+ (_,0) -> True+ (_,1) -> True+ (_,-1) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,-2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (False,0) -> False+ (True,_) -> True+ (_,0) -> True+ (_,1) -> False+ (_,-1) -> False+ (_,2) -> False+ (_,-2) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,0) -> False+ (False,1) -> True+ (True,_) -> False+ (_,1) -> False+ (_,-1) -> True+ (_,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> False+ (False,2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,_) -> False+ (_,0) -> False+ (_,1) -> False+ (_,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,1) -> False+ (False,-1) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,0) -> True+ (True,_) -> False+ (_,0) -> False+ (_,1) -> True+ (_,-1) -> True+ (_,2) -> True+ (_,-2) -> False+ _ -> True+ , \x y -> case (x,y) of+ (False,-2) -> False+ _ -> True+ ]+ , ...+ ]
+ test/diff/tiers-default-Bool-MBool.out view
@@ -0,0 +1,33 @@+map length (tiers :: [[ Bool->Maybe Bool ]]) = [1,4,4]++length (list :: [ Bool->Maybe Bool ]) = 9++allUnique (list :: [ Bool->Maybe Bool ]) = True++ratioRepetitions (list :: [ Bool->Maybe Bool ]) = 0 % 1++tiers :: [Bool->Maybe Bool] =+ [ [\_ -> Nothing]+ , [ \x -> case x of+ False -> Nothing+ True -> Just False+ , \x -> case x of+ False -> Nothing+ True -> Just True+ , \x -> case x of+ False -> Just False+ True -> Nothing+ , \x -> case x of+ False -> Just True+ True -> Nothing+ ]+ , [ \_ -> Just False+ , \x -> case x of+ False -> Just False+ True -> Just True+ , \x -> case x of+ False -> Just True+ True -> Just False+ , \_ -> Just True+ ]+ ]
+ test/diff/tiers-default-Bool-U.out view
@@ -0,0 +1,10 @@+map length (tiers :: [[ Bool->() ]]) = [1]++length (list :: [ Bool->() ]) = 1++allUnique (list :: [ Bool->() ]) = True++ratioRepetitions (list :: [ Bool->() ]) = 0 % 1++tiers :: [Bool->()] =+ [[\_ -> ()]]
+ test/diff/tiers-default-Bools-Bools.out view
@@ -0,0 +1,1137 @@+map length (tiers :: [[ [Bool]->[Bool] ]]) = [1,2,8,26,88,278,...]++length (list :: [ [Bool]->[Bool] ]) = Infinity++allUnique (list :: [ [Bool]->[Bool] ]) = True++ratioRepetitions (list :: [ [Bool]->[Bool] ]) = 0 % 1++tiers :: [[Bool]->[Bool]] =+ [ [\_ -> []]+ , [ \_ -> [False]+ , \_ -> [True]+ ]+ , [ \x -> case x of+ [] -> [False]+ _ -> []+ , \x -> case x of+ [] -> [True]+ _ -> []+ , \x -> case x of+ [] -> []+ _ -> [False]+ , \x -> case x of+ [] -> []+ _ -> [True]+ , \_ -> [False,False]+ , \_ -> [False,True]+ , \_ -> [True,False]+ , \_ -> [True,True]+ ]+ , [ \x -> case x of+ [] -> [False,False]+ _ -> []+ , \x -> case x of+ [] -> [False,True]+ _ -> []+ , \x -> case x of+ [] -> [True,False]+ _ -> []+ , \x -> case x of+ [] -> [True,True]+ _ -> []+ , \x -> case x of+ [False] -> [False]+ _ -> []+ , \x -> case x of+ [False] -> [True]+ _ -> []+ , \x -> case x of+ [True] -> [False]+ _ -> []+ , \x -> case x of+ [True] -> [True]+ _ -> []+ , \x -> case x of+ [] -> [True]+ _ -> [False]+ , \x -> case x of+ [False] -> []+ _ -> [False]+ , \x -> case x of+ [True] -> []+ _ -> [False]+ , \x -> case x of+ [] -> [False]+ _ -> [True]+ , \x -> case x of+ [False] -> []+ _ -> [True]+ , \x -> case x of+ [True] -> []+ _ -> [True]+ , \x -> case x of+ [] -> []+ _ -> [False,False]+ , \x -> case x of+ [] -> []+ _ -> [False,True]+ , \x -> case x of+ [] -> []+ _ -> [True,False]+ , \x -> case x of+ [] -> []+ _ -> [True,True]+ , \_ -> [False,False,False]+ , \_ -> [False,False,True]+ , \_ -> [False,True,False]+ , \_ -> [False,True,True]+ , \_ -> [True,False,False]+ , \_ -> [True,False,True]+ , \_ -> [True,True,False]+ , \_ -> [True,True,True]+ ]+ , [ \x -> case x of+ [] -> [False,False,False]+ _ -> []+ , \x -> case x of+ [] -> [False,False,True]+ _ -> []+ , \x -> case x of+ [] -> [False,True,False]+ _ -> []+ , \x -> case x of+ [] -> [False,True,True]+ _ -> []+ , \x -> case x of+ [] -> [True,False,False]+ _ -> []+ , \x -> case x of+ [] -> [True,False,True]+ _ -> []+ , \x -> case x of+ [] -> [True,True,False]+ _ -> []+ , \x -> case x of+ [] -> [True,True,True]+ _ -> []+ , \x -> case x of+ [False] -> [False,False]+ _ -> []+ , \x -> case x of+ [False] -> [False,True]+ _ -> []+ , \x -> case x of+ [False] -> [True,False]+ _ -> []+ , \x -> case x of+ [False] -> [True,True]+ _ -> []+ , \x -> case x of+ [True] -> [False,False]+ _ -> []+ , \x -> case x of+ [True] -> [False,True]+ _ -> []+ , \x -> case x of+ [True] -> [True,False]+ _ -> []+ , \x -> case x of+ [True] -> [True,True]+ _ -> []+ , \x -> case x of+ [False,False] -> [False]+ _ -> []+ , \x -> case x of+ [False,False] -> [True]+ _ -> []+ , \x -> case x of+ [False,True] -> [False]+ _ -> []+ , \x -> case x of+ [False,True] -> [True]+ _ -> []+ , \x -> case x of+ [True,False] -> [False]+ _ -> []+ , \x -> case x of+ [True,False] -> [True]+ _ -> []+ , \x -> case x of+ [True,True] -> [False]+ _ -> []+ , \x -> case x of+ [True,True] -> [True]+ _ -> []+ , \x -> case x of+ [] -> [False,False]+ _ -> [False]+ , \x -> case x of+ [] -> [False,True]+ _ -> [False]+ , \x -> case x of+ [] -> [True,False]+ _ -> [False]+ , \x -> case x of+ [] -> [True,True]+ _ -> [False]+ , \x -> case x of+ [False] -> [True]+ _ -> [False]+ , \x -> case x of+ [True] -> [True]+ _ -> [False]+ , \x -> case x of+ [] -> []+ [False] -> []+ _ -> [False]+ , \x -> case x of+ [] -> []+ [True] -> []+ _ -> [False]+ , \x -> case x of+ [False,False] -> []+ _ -> [False]+ , \x -> case x of+ [False,True] -> []+ _ -> [False]+ , \x -> case x of+ [True,False] -> []+ _ -> [False]+ , \x -> case x of+ [True,True] -> []+ _ -> [False]+ , \x -> case x of+ [] -> [False,False]+ _ -> [True]+ , \x -> case x of+ [] -> [False,True]+ _ -> [True]+ , \x -> case x of+ [] -> [True,False]+ _ -> [True]+ , \x -> case x of+ [] -> [True,True]+ _ -> [True]+ , \x -> case x of+ [False] -> [False]+ _ -> [True]+ , \x -> case x of+ [True] -> [False]+ _ -> [True]+ , \x -> case x of+ [] -> []+ [False] -> []+ _ -> [True]+ , \x -> case x of+ [] -> []+ [True] -> []+ _ -> [True]+ , \x -> case x of+ [False,False] -> []+ _ -> [True]+ , \x -> case x of+ [False,True] -> []+ _ -> [True]+ , \x -> case x of+ [True,False] -> []+ _ -> [True]+ , \x -> case x of+ [True,True] -> []+ _ -> [True]+ , \x -> case x of+ [] -> [False]+ _ -> [False,False]+ , \x -> case x of+ [] -> [True]+ _ -> [False,False]+ , \x -> case x of+ [False] -> []+ _ -> [False,False]+ , \x -> case x of+ [True] -> []+ _ -> [False,False]+ , \x -> case x of+ [] -> [False]+ _ -> [False,True]+ , \x -> case x of+ [] -> [True]+ _ -> [False,True]+ , \x -> case x of+ [False] -> []+ _ -> [False,True]+ , \x -> case x of+ [True] -> []+ _ -> [False,True]+ , \x -> case x of+ [] -> [False]+ _ -> [True,False]+ , \x -> case x of+ [] -> [True]+ _ -> [True,False]+ , \x -> case x of+ [False] -> []+ _ -> [True,False]+ , \x -> case x of+ [True] -> []+ _ -> [True,False]+ , \x -> case x of+ [] -> [False]+ _ -> [True,True]+ , \x -> case x of+ [] -> [True]+ _ -> [True,True]+ , \x -> case x of+ [False] -> []+ _ -> [True,True]+ , \x -> case x of+ [True] -> []+ _ -> [True,True]+ , \x -> case x of+ [] -> []+ _ -> [False,False,False]+ , \x -> case x of+ [] -> []+ _ -> [False,False,True]+ , \x -> case x of+ [] -> []+ _ -> [False,True,False]+ , \x -> case x of+ [] -> []+ _ -> [False,True,True]+ , \x -> case x of+ [] -> []+ _ -> [True,False,False]+ , \x -> case x of+ [] -> []+ _ -> [True,False,True]+ , \x -> case x of+ [] -> []+ _ -> [True,True,False]+ , \x -> case x of+ [] -> []+ _ -> [True,True,True]+ , \_ -> [False,False,False,False]+ , \_ -> [False,False,False,True]+ , \_ -> [False,False,True,False]+ , \_ -> [False,False,True,True]+ , \_ -> [False,True,False,False]+ , \_ -> [False,True,False,True]+ , \_ -> [False,True,True,False]+ , \_ -> [False,True,True,True]+ , \_ -> [True,False,False,False]+ , \_ -> [True,False,False,True]+ , \_ -> [True,False,True,False]+ , \_ -> [True,False,True,True]+ , \_ -> [True,True,False,False]+ , \_ -> [True,True,False,True]+ , \_ -> [True,True,True,False]+ , \_ -> [True,True,True,True]+ ]+ , [ \x -> case x of+ [] -> [False,False,False,False]+ _ -> []+ , \x -> case x of+ [] -> [False,False,False,True]+ _ -> []+ , \x -> case x of+ [] -> [False,False,True,False]+ _ -> []+ , \x -> case x of+ [] -> [False,False,True,True]+ _ -> []+ , \x -> case x of+ [] -> [False,True,False,False]+ _ -> []+ , \x -> case x of+ [] -> [False,True,False,True]+ _ -> []+ , \x -> case x of+ [] -> [False,True,True,False]+ _ -> []+ , \x -> case x of+ [] -> [False,True,True,True]+ _ -> []+ , \x -> case x of+ [] -> [True,False,False,False]+ _ -> []+ , \x -> case x of+ [] -> [True,False,False,True]+ _ -> []+ , \x -> case x of+ [] -> [True,False,True,False]+ _ -> []+ , \x -> case x of+ [] -> [True,False,True,True]+ _ -> []+ , \x -> case x of+ [] -> [True,True,False,False]+ _ -> []+ , \x -> case x of+ [] -> [True,True,False,True]+ _ -> []+ , \x -> case x of+ [] -> [True,True,True,False]+ _ -> []+ , \x -> case x of+ [] -> [True,True,True,True]+ _ -> []+ , \x -> case x of+ [False] -> [False,False,False]+ _ -> []+ , \x -> case x of+ [False] -> [False,False,True]+ _ -> []+ , \x -> case x of+ [False] -> [False,True,False]+ _ -> []+ , \x -> case x of+ [False] -> [False,True,True]+ _ -> []+ , \x -> case x of+ [False] -> [True,False,False]+ _ -> []+ , \x -> case x of+ [False] -> [True,False,True]+ _ -> []+ , \x -> case x of+ [False] -> [True,True,False]+ _ -> []+ , \x -> case x of+ [False] -> [True,True,True]+ _ -> []+ , \x -> case x of+ [True] -> [False,False,False]+ _ -> []+ , \x -> case x of+ [True] -> [False,False,True]+ _ -> []+ , \x -> case x of+ [True] -> [False,True,False]+ _ -> []+ , \x -> case x of+ [True] -> [False,True,True]+ _ -> []+ , \x -> case x of+ [True] -> [True,False,False]+ _ -> []+ , \x -> case x of+ [True] -> [True,False,True]+ _ -> []+ , \x -> case x of+ [True] -> [True,True,False]+ _ -> []+ , \x -> case x of+ [True] -> [True,True,True]+ _ -> []+ , \x -> case x of+ [] -> [False]+ [False] -> [False]+ _ -> []+ , \x -> case x of+ [] -> [False]+ [False] -> [True]+ _ -> []+ , \x -> case x of+ [] -> [True]+ [False] -> [False]+ _ -> []+ , \x -> case x of+ [] -> [True]+ [False] -> [True]+ _ -> []+ , \x -> case x of+ [] -> [False]+ [True] -> [False]+ _ -> []+ , \x -> case x of+ [] -> [False]+ [True] -> [True]+ _ -> []+ , \x -> case x of+ [] -> [True]+ [True] -> [False]+ _ -> []+ , \x -> case x of+ [] -> [True]+ [True] -> [True]+ _ -> []+ , \x -> case x of+ [False,False] -> [False,False]+ _ -> []+ , \x -> case x of+ [False,False] -> [False,True]+ _ -> []+ , \x -> case x of+ [False,False] -> [True,False]+ _ -> []+ , \x -> case x of+ [False,False] -> [True,True]+ _ -> []+ , \x -> case x of+ [False,True] -> [False,False]+ _ -> []+ , \x -> case x of+ [False,True] -> [False,True]+ _ -> []+ , \x -> case x of+ [False,True] -> [True,False]+ _ -> []+ , \x -> case x of+ [False,True] -> [True,True]+ _ -> []+ , \x -> case x of+ [True,False] -> [False,False]+ _ -> []+ , \x -> case x of+ [True,False] -> [False,True]+ _ -> []+ , \x -> case x of+ [True,False] -> [True,False]+ _ -> []+ , \x -> case x of+ [True,False] -> [True,True]+ _ -> []+ , \x -> case x of+ [True,True] -> [False,False]+ _ -> []+ , \x -> case x of+ [True,True] -> [False,True]+ _ -> []+ , \x -> case x of+ [True,True] -> [True,False]+ _ -> []+ , \x -> case x of+ [True,True] -> [True,True]+ _ -> []+ , \x -> case x of+ [False,False,False] -> [False]+ _ -> []+ , \x -> case x of+ [False,False,False] -> [True]+ _ -> []+ , \x -> case x of+ [False,False,True] -> [False]+ _ -> []+ , \x -> case x of+ [False,False,True] -> [True]+ _ -> []+ , \x -> case x of+ [False,True,False] -> [False]+ _ -> []+ , \x -> case x of+ [False,True,False] -> [True]+ _ -> []+ , \x -> case x of+ [False,True,True] -> [False]+ _ -> []+ , \x -> case x of+ [False,True,True] -> [True]+ _ -> []+ , \x -> case x of+ [True,False,False] -> [False]+ _ -> []+ , \x -> case x of+ [True,False,False] -> [True]+ _ -> []+ , \x -> case x of+ [True,False,True] -> [False]+ _ -> []+ , \x -> case x of+ [True,False,True] -> [True]+ _ -> []+ , \x -> case x of+ [True,True,False] -> [False]+ _ -> []+ , \x -> case x of+ [True,True,False] -> [True]+ _ -> []+ , \x -> case x of+ [True,True,True] -> [False]+ _ -> []+ , \x -> case x of+ [True,True,True] -> [True]+ _ -> []+ , \x -> case x of+ [] -> [False,False,False]+ _ -> [False]+ , \x -> case x of+ [] -> [False,False,True]+ _ -> [False]+ , \x -> case x of+ [] -> [False,True,False]+ _ -> [False]+ , \x -> case x of+ [] -> [False,True,True]+ _ -> [False]+ , \x -> case x of+ [] -> [True,False,False]+ _ -> [False]+ , \x -> case x of+ [] -> [True,False,True]+ _ -> [False]+ , \x -> case x of+ [] -> [True,True,False]+ _ -> [False]+ , \x -> case x of+ [] -> [True,True,True]+ _ -> [False]+ , \x -> case x of+ [False] -> [False,False]+ _ -> [False]+ , \x -> case x of+ [False] -> [False,True]+ _ -> [False]+ , \x -> case x of+ [False] -> [True,False]+ _ -> [False]+ , \x -> case x of+ [False] -> [True,True]+ _ -> [False]+ , \x -> case x of+ [True] -> [False,False]+ _ -> [False]+ , \x -> case x of+ [True] -> [False,True]+ _ -> [False]+ , \x -> case x of+ [True] -> [True,False]+ _ -> [False]+ , \x -> case x of+ [True] -> [True,True]+ _ -> [False]+ , \x -> case x of+ [] -> []+ [False] -> [True]+ _ -> [False]+ , \x -> case x of+ [] -> [True]+ [False] -> []+ _ -> [False]+ , \x -> case x of+ [] -> []+ [True] -> [True]+ _ -> [False]+ , \x -> case x of+ [] -> [True]+ [True] -> []+ _ -> [False]+ , \x -> case x of+ [False,False] -> [True]+ _ -> [False]+ , \x -> case x of+ [False,True] -> [True]+ _ -> [False]+ , \x -> case x of+ [True,False] -> [True]+ _ -> [False]+ , \x -> case x of+ [True,True] -> [True]+ _ -> [False]+ , \x -> case x of+ [] -> []+ [False,False] -> []+ _ -> [False]+ , \x -> case x of+ [] -> []+ [False,True] -> []+ _ -> [False]+ , \x -> case x of+ [] -> []+ [True,False] -> []+ _ -> [False]+ , \x -> case x of+ [] -> []+ [True,True] -> []+ _ -> [False]+ , \x -> case x of+ [False] -> []+ [True] -> []+ _ -> [False]+ , \x -> case x of+ [False,False,False] -> []+ _ -> [False]+ , \x -> case x of+ [False,False,True] -> []+ _ -> [False]+ , \x -> case x of+ [False,True,False] -> []+ _ -> [False]+ , \x -> case x of+ [False,True,True] -> []+ _ -> [False]+ , \x -> case x of+ [True,False,False] -> []+ _ -> [False]+ , \x -> case x of+ [True,False,True] -> []+ _ -> [False]+ , \x -> case x of+ [True,True,False] -> []+ _ -> [False]+ , \x -> case x of+ [True,True,True] -> []+ _ -> [False]+ , \x -> case x of+ [] -> [False,False,False]+ _ -> [True]+ , \x -> case x of+ [] -> [False,False,True]+ _ -> [True]+ , \x -> case x of+ [] -> [False,True,False]+ _ -> [True]+ , \x -> case x of+ [] -> [False,True,True]+ _ -> [True]+ , \x -> case x of+ [] -> [True,False,False]+ _ -> [True]+ , \x -> case x of+ [] -> [True,False,True]+ _ -> [True]+ , \x -> case x of+ [] -> [True,True,False]+ _ -> [True]+ , \x -> case x of+ [] -> [True,True,True]+ _ -> [True]+ , \x -> case x of+ [False] -> [False,False]+ _ -> [True]+ , \x -> case x of+ [False] -> [False,True]+ _ -> [True]+ , \x -> case x of+ [False] -> [True,False]+ _ -> [True]+ , \x -> case x of+ [False] -> [True,True]+ _ -> [True]+ , \x -> case x of+ [True] -> [False,False]+ _ -> [True]+ , \x -> case x of+ [True] -> [False,True]+ _ -> [True]+ , \x -> case x of+ [True] -> [True,False]+ _ -> [True]+ , \x -> case x of+ [True] -> [True,True]+ _ -> [True]+ , \x -> case x of+ [] -> []+ [False] -> [False]+ _ -> [True]+ , \x -> case x of+ [] -> [False]+ [False] -> []+ _ -> [True]+ , \x -> case x of+ [] -> []+ [True] -> [False]+ _ -> [True]+ , \x -> case x of+ [] -> [False]+ [True] -> []+ _ -> [True]+ , \x -> case x of+ [False,False] -> [False]+ _ -> [True]+ , \x -> case x of+ [False,True] -> [False]+ _ -> [True]+ , \x -> case x of+ [True,False] -> [False]+ _ -> [True]+ , \x -> case x of+ [True,True] -> [False]+ _ -> [True]+ , \x -> case x of+ [] -> []+ [False,False] -> []+ _ -> [True]+ , \x -> case x of+ [] -> []+ [False,True] -> []+ _ -> [True]+ , \x -> case x of+ [] -> []+ [True,False] -> []+ _ -> [True]+ , \x -> case x of+ [] -> []+ [True,True] -> []+ _ -> [True]+ , \x -> case x of+ [False] -> []+ [True] -> []+ _ -> [True]+ , \x -> case x of+ [False,False,False] -> []+ _ -> [True]+ , \x -> case x of+ [False,False,True] -> []+ _ -> [True]+ , \x -> case x of+ [False,True,False] -> []+ _ -> [True]+ , \x -> case x of+ [False,True,True] -> []+ _ -> [True]+ , \x -> case x of+ [True,False,False] -> []+ _ -> [True]+ , \x -> case x of+ [True,False,True] -> []+ _ -> [True]+ , \x -> case x of+ [True,True,False] -> []+ _ -> [True]+ , \x -> case x of+ [True,True,True] -> []+ _ -> [True]+ , \x -> case x of+ [] -> [False,True]+ _ -> [False,False]+ , \x -> case x of+ [] -> [True,False]+ _ -> [False,False]+ , \x -> case x of+ [] -> [True,True]+ _ -> [False,False]+ , \x -> case x of+ [False] -> [False]+ _ -> [False,False]+ , \x -> case x of+ [False] -> [True]+ _ -> [False,False]+ , \x -> case x of+ [True] -> [False]+ _ -> [False,False]+ , \x -> case x of+ [True] -> [True]+ _ -> [False,False]+ , \x -> case x of+ [] -> []+ [False] -> []+ _ -> [False,False]+ , \x -> case x of+ [] -> []+ [True] -> []+ _ -> [False,False]+ , \x -> case x of+ [False,False] -> []+ _ -> [False,False]+ , \x -> case x of+ [False,True] -> []+ _ -> [False,False]+ , \x -> case x of+ [True,False] -> []+ _ -> [False,False]+ , \x -> case x of+ [True,True] -> []+ _ -> [False,False]+ , \x -> case x of+ [] -> [False,False]+ _ -> [False,True]+ , \x -> case x of+ [] -> [True,False]+ _ -> [False,True]+ , \x -> case x of+ [] -> [True,True]+ _ -> [False,True]+ , \x -> case x of+ [False] -> [False]+ _ -> [False,True]+ , \x -> case x of+ [False] -> [True]+ _ -> [False,True]+ , \x -> case x of+ [True] -> [False]+ _ -> [False,True]+ , \x -> case x of+ [True] -> [True]+ _ -> [False,True]+ , \x -> case x of+ [] -> []+ [False] -> []+ _ -> [False,True]+ , \x -> case x of+ [] -> []+ [True] -> []+ _ -> [False,True]+ , \x -> case x of+ [False,False] -> []+ _ -> [False,True]+ , \x -> case x of+ [False,True] -> []+ _ -> [False,True]+ , \x -> case x of+ [True,False] -> []+ _ -> [False,True]+ , \x -> case x of+ [True,True] -> []+ _ -> [False,True]+ , \x -> case x of+ [] -> [False,False]+ _ -> [True,False]+ , \x -> case x of+ [] -> [False,True]+ _ -> [True,False]+ , \x -> case x of+ [] -> [True,True]+ _ -> [True,False]+ , \x -> case x of+ [False] -> [False]+ _ -> [True,False]+ , \x -> case x of+ [False] -> [True]+ _ -> [True,False]+ , \x -> case x of+ [True] -> [False]+ _ -> [True,False]+ , \x -> case x of+ [True] -> [True]+ _ -> [True,False]+ , \x -> case x of+ [] -> []+ [False] -> []+ _ -> [True,False]+ , \x -> case x of+ [] -> []+ [True] -> []+ _ -> [True,False]+ , \x -> case x of+ [False,False] -> []+ _ -> [True,False]+ , \x -> case x of+ [False,True] -> []+ _ -> [True,False]+ , \x -> case x of+ [True,False] -> []+ _ -> [True,False]+ , \x -> case x of+ [True,True] -> []+ _ -> [True,False]+ , \x -> case x of+ [] -> [False,False]+ _ -> [True,True]+ , \x -> case x of+ [] -> [False,True]+ _ -> [True,True]+ , \x -> case x of+ [] -> [True,False]+ _ -> [True,True]+ , \x -> case x of+ [False] -> [False]+ _ -> [True,True]+ , \x -> case x of+ [False] -> [True]+ _ -> [True,True]+ , \x -> case x of+ [True] -> [False]+ _ -> [True,True]+ , \x -> case x of+ [True] -> [True]+ _ -> [True,True]+ , \x -> case x of+ [] -> []+ [False] -> []+ _ -> [True,True]+ , \x -> case x of+ [] -> []+ [True] -> []+ _ -> [True,True]+ , \x -> case x of+ [False,False] -> []+ _ -> [True,True]+ , \x -> case x of+ [False,True] -> []+ _ -> [True,True]+ , \x -> case x of+ [True,False] -> []+ _ -> [True,True]+ , \x -> case x of+ [True,True] -> []+ _ -> [True,True]+ , \x -> case x of+ [] -> [False]+ _ -> [False,False,False]+ , \x -> case x of+ [] -> [True]+ _ -> [False,False,False]+ , \x -> case x of+ [False] -> []+ _ -> [False,False,False]+ , \x -> case x of+ [True] -> []+ _ -> [False,False,False]+ , \x -> case x of+ [] -> [False]+ _ -> [False,False,True]+ , \x -> case x of+ [] -> [True]+ _ -> [False,False,True]+ , \x -> case x of+ [False] -> []+ _ -> [False,False,True]+ , \x -> case x of+ [True] -> []+ _ -> [False,False,True]+ , \x -> case x of+ [] -> [False]+ _ -> [False,True,False]+ , \x -> case x of+ [] -> [True]+ _ -> [False,True,False]+ , \x -> case x of+ [False] -> []+ _ -> [False,True,False]+ , \x -> case x of+ [True] -> []+ _ -> [False,True,False]+ , \x -> case x of+ [] -> [False]+ _ -> [False,True,True]+ , \x -> case x of+ [] -> [True]+ _ -> [False,True,True]+ , \x -> case x of+ [False] -> []+ _ -> [False,True,True]+ , \x -> case x of+ [True] -> []+ _ -> [False,True,True]+ , \x -> case x of+ [] -> [False]+ _ -> [True,False,False]+ , \x -> case x of+ [] -> [True]+ _ -> [True,False,False]+ , \x -> case x of+ [False] -> []+ _ -> [True,False,False]+ , \x -> case x of+ [True] -> []+ _ -> [True,False,False]+ , \x -> case x of+ [] -> [False]+ _ -> [True,False,True]+ , \x -> case x of+ [] -> [True]+ _ -> [True,False,True]+ , \x -> case x of+ [False] -> []+ _ -> [True,False,True]+ , \x -> case x of+ [True] -> []+ _ -> [True,False,True]+ , \x -> case x of+ [] -> [False]+ _ -> [True,True,False]+ , \x -> case x of+ [] -> [True]+ _ -> [True,True,False]+ , \x -> case x of+ [False] -> []+ _ -> [True,True,False]+ , \x -> case x of+ [True] -> []+ _ -> [True,True,False]+ , \x -> case x of+ [] -> [False]+ _ -> [True,True,True]+ , \x -> case x of+ [] -> [True]+ _ -> [True,True,True]+ , \x -> case x of+ [False] -> []+ _ -> [True,True,True]+ , \x -> case x of+ [True] -> []+ _ -> [True,True,True]+ , \x -> case x of+ [] -> []+ _ -> [False,False,False,False]+ , \x -> case x of+ [] -> []+ _ -> [False,False,False,True]+ , \x -> case x of+ [] -> []+ _ -> [False,False,True,False]+ , \x -> case x of+ [] -> []+ _ -> [False,False,True,True]+ , \x -> case x of+ [] -> []+ _ -> [False,True,False,False]+ , \x -> case x of+ [] -> []+ _ -> [False,True,False,True]+ , \x -> case x of+ [] -> []+ _ -> [False,True,True,False]+ , \x -> case x of+ [] -> []+ _ -> [False,True,True,True]+ , \x -> case x of+ [] -> []+ _ -> [True,False,False,False]+ , \x -> case x of+ [] -> []+ _ -> [True,False,False,True]+ , \x -> case x of+ [] -> []+ _ -> [True,False,True,False]+ , \x -> case x of+ [] -> []+ _ -> [True,False,True,True]+ , \x -> case x of+ [] -> []+ _ -> [True,True,False,False]+ , \x -> case x of+ [] -> []+ _ -> [True,True,False,True]+ , \x -> case x of+ [] -> []+ _ -> [True,True,True,False]+ , \x -> case x of+ [] -> []+ _ -> [True,True,True,True]+ , \_ -> [False,False,False,False,False]+ , \_ -> [False,False,False,False,True]+ , \_ -> [False,False,False,True,False]+ , \_ -> [False,False,False,True,True]+ , \_ -> [False,False,True,False,False]+ , \_ -> [False,False,True,False,True]+ , \_ -> [False,False,True,True,False]+ , \_ -> [False,False,True,True,True]+ , \_ -> [False,True,False,False,False]+ , \_ -> [False,True,False,False,True]+ , \_ -> [False,True,False,True,False]+ , \_ -> [False,True,False,True,True]+ , \_ -> [False,True,True,False,False]+ , \_ -> [False,True,True,False,True]+ , \_ -> [False,True,True,True,False]+ , \_ -> [False,True,True,True,True]+ , \_ -> [True,False,False,False,False]+ , \_ -> [True,False,False,False,True]+ , \_ -> [True,False,False,True,False]+ , \_ -> [True,False,False,True,True]+ , \_ -> [True,False,True,False,False]+ , \_ -> [True,False,True,False,True]+ , \_ -> [True,False,True,True,False]+ , \_ -> [True,False,True,True,True]+ , \_ -> [True,True,False,False,False]+ , \_ -> [True,True,False,False,True]+ , \_ -> [True,True,False,True,False]+ , \_ -> [True,True,False,True,True]+ , \_ -> [True,True,True,False,False]+ , \_ -> [True,True,True,False,True]+ , \_ -> [True,True,True,True,False]+ , \_ -> [True,True,True,True,True]+ ]+ , ...+ ]
+ test/diff/tiers-default-Int-Bool-Bool.out view
@@ -0,0 +1,1137 @@+map length (tiers :: [[ Int->Bool->Bool ]]) = [4,12,12,48,48,84,...]++length (list :: [ Int->Bool->Bool ]) = Infinity++allUnique (list :: [ Int->Bool->Bool ]) = True++ratioRepetitions (list :: [ Int->Bool->Bool ]) = 0 % 1++tiers :: [Int->Bool->Bool] =+ [ [ \_ _ -> False+ , \_ y -> case y of+ False -> False+ _ -> True+ , \_ y -> case y of+ False -> True+ _ -> False+ , \_ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (0,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> True+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (_,False) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,False) -> True+ _ -> False+ , \x _ -> case x of+ 1 -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,False) -> False+ (0,_) -> True+ (1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,True) -> True+ (1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,True) -> False+ (1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,False) -> True+ (0,_) -> False+ (1,_) -> True+ _ -> False+ , \x _ -> case x of+ 1 -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,True) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (0,True) -> True+ (1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,True) -> True+ (1,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,True) -> True+ (1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (1,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> True+ 1 -> True+ _ -> False+ , \x y -> case (x,y) of+ (-1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (-1,False) -> True+ _ -> False+ , \x _ -> case x of+ -1 -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (_,False) -> False+ (1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> True+ (1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,_) -> True+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> True+ (1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,_) -> True+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,_) -> True+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (_,False) -> False+ (0,_) -> True+ (1,_) -> True+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> False+ (1,_) -> True+ (-1,False) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,True) -> True+ (1,_) -> False+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,_) -> False+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,_) -> False+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> False+ (1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,_) -> False+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> False+ (1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (_,False) -> True+ (1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,True) -> False+ (1,_) -> True+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> True+ (1,_) -> False+ (-1,False) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,False) -> True+ (0,_) -> False+ (1,_) -> False+ (-1,_) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> False+ 1 -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (1,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (1,True) -> False+ _ -> True+ , \x _ -> case x of+ -1 -> False+ _ -> True+ , \x y -> case (x,y) of+ (-1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (-1,True) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (0,True) -> True+ (-1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,True) -> True+ (-1,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,True) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (-1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (-1,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (-1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (-1,False) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> True+ -1 -> True+ _ -> False+ , \x y -> case (x,y) of+ (2,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (2,False) -> True+ _ -> False+ , \x _ -> case x of+ 2 -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (_,False) -> False+ (1,_) -> True+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (-1,False) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (_,True) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,False) -> False+ (1,_) -> True+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (-1,False) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (_,True) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (_,False) -> False+ (1,_) -> True+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> False+ (1,_) -> True+ (-1,False) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> False+ (1,_) -> True+ (_,True) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,False) -> False+ (0,_) -> True+ (1,_) -> True+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,True) -> True+ (1,False) -> False+ (1,True) -> True+ (-1,False) -> False+ (-1,True) -> True+ (2,False) -> True+ (2,True) -> False+ ...+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,True) -> True+ (1,_) -> False+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> True+ (1,_) -> False+ (_,True) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> True+ (1,_) -> False+ (-1,False) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (_,False) -> True+ (1,_) -> False+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (_,True) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (-1,False) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,False) -> True+ (1,_) -> False+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (_,True) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (-1,False) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (_,False) -> True+ (1,_) -> False+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,True) -> False+ (1,_) -> True+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,True) -> False+ (1,False) -> True+ (1,True) -> False+ (-1,False) -> True+ (-1,True) -> False+ (2,False) -> False+ (2,True) -> True+ ...+ , \x y -> case (x,y) of+ (_,False) -> True+ (0,_) -> False+ (1,_) -> False+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> False+ -1 -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (-1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (-1,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (-1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (-1,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (-1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (-1,True) -> False+ _ -> True+ , \x _ -> case x of+ 2 -> False+ _ -> True+ , \x y -> case (x,y) of+ (2,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (2,True) -> False+ _ -> True+ ]+ , [ \x y -> case (x,y) of+ (0,True) -> True+ (2,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,True) -> True+ (2,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,True) -> True+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (2,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (2,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (2,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (2,False) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> True+ 2 -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,True) -> True+ (-1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,True) -> True+ (-1,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,True) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,False) -> True+ (-1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,False) -> True+ (-1,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,False) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,_) -> True+ (-1,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (1,_) -> True+ (-1,False) -> True+ _ -> False+ , \x _ -> case x of+ 1 -> True+ -1 -> True+ _ -> False+ , \x y -> case (x,y) of+ (-2,True) -> True+ _ -> False+ , \x y -> case (x,y) of+ (-2,False) -> True+ _ -> False+ , \x _ -> case x of+ -2 -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (_,False) -> False+ (1,_) -> True+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,True) -> False+ (1,False) -> False+ (1,True) -> True+ (-1,False) -> False+ (-1,True) -> True+ (2,False) -> True+ (2,True) -> False+ ...+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (_,True) -> True+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,False) -> False+ (1,_) -> True+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,True) -> False+ (1,False) -> False+ (1,True) -> True+ (-1,False) -> False+ (-1,True) -> True+ (2,False) -> True+ (2,True) -> False+ ...+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (_,True) -> True+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (_,False) -> False+ (1,_) -> True+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,True) -> True+ (1,False) -> False+ (1,True) -> True+ (-1,False) -> False+ (-1,True) -> True+ (2,False) -> True+ (2,True) -> False+ ...+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> False+ (1,_) -> True+ (_,True) -> True+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,False) -> False+ (0,_) -> True+ (1,_) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,_) -> False+ (-1,False) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,_) -> False+ (-1,_) -> True+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (-1,False) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (-1,_) -> True+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,_) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,_) -> True+ (-1,False) -> True+ (-1,_) -> False+ (_,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,True) -> True+ (1,_) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,False) -> False+ (0,_) -> True+ (1,_) -> True+ (-1,_) -> True+ (2,_) -> True+ (-2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,True) -> True+ (1,False) -> False+ (1,True) -> True+ (-1,False) -> False+ (-1,True) -> True+ (2,False) -> False+ (2,True) -> True+ ...+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,True) -> True+ (1,_) -> False+ (-1,_) -> False+ (2,_) -> False+ (-2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> False+ (1,False) -> True+ (1,_) -> False+ (_,True) -> False+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,True) -> False+ (1,False) -> True+ (1,True) -> False+ (-1,False) -> True+ (-1,True) -> False+ (2,False) -> False+ (2,True) -> True+ ...+ , \x y -> case (x,y) of+ (0,_) -> False+ (_,False) -> True+ (1,_) -> False+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (_,True) -> False+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,True) -> True+ (1,False) -> True+ (1,True) -> False+ (-1,False) -> True+ (-1,True) -> False+ (2,False) -> False+ (2,True) -> True+ ...+ , \x y -> case (x,y) of+ (0,False) -> False+ (0,_) -> True+ (_,False) -> True+ (1,_) -> False+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,_) -> True+ (1,False) -> True+ (1,_) -> False+ (_,True) -> False+ (-1,_) -> True+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,True) -> True+ (1,False) -> True+ (1,True) -> False+ (-1,False) -> True+ (-1,True) -> False+ (2,False) -> False+ (2,True) -> True+ ...+ , \x y -> case (x,y) of+ (0,_) -> True+ (_,False) -> True+ (1,_) -> False+ (-1,_) -> False+ (2,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,True) -> False+ (1,_) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,_) -> False+ (-1,False) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,_) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (-1,_) -> False+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (-1,False) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,False) -> False+ (1,_) -> True+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,_) -> True+ (-1,_) -> False+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (1,_) -> True+ (-1,False) -> False+ (-1,_) -> True+ (_,False) -> True+ _ -> False+ , \x y -> case (x,y) of+ (_,False) -> True+ (0,_) -> False+ (1,_) -> True+ (-1,_) -> True+ _ -> False+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,_) -> False+ (_,True) -> False+ (1,_) -> True+ (-1,_) -> True+ (2,_) -> True+ (-2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> True+ (0,True) -> False+ (1,False) -> True+ (1,True) -> False+ (-1,False) -> True+ (-1,True) -> False+ (2,False) -> True+ (2,True) -> False+ ...+ , \x y -> case (x,y) of+ (_,False) -> True+ (0,_) -> False+ (1,_) -> False+ (-1,_) -> False+ (2,_) -> False+ (-2,_) -> True+ _ -> False+ , \x _ -> case x of+ 0 -> False+ 2 -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (2,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,_) -> False+ (2,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (2,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,False) -> False+ (2,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (2,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (2,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (0,True) -> False+ (2,True) -> False+ _ -> True+ , \x _ -> case x of+ 1 -> False+ -1 -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,_) -> False+ (-1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,_) -> False+ (-1,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,False) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,False) -> False+ (-1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,False) -> False+ (-1,True) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,True) -> False+ (-1,_) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,True) -> False+ (-1,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (1,True) -> False+ (-1,True) -> False+ _ -> True+ , \x _ -> case x of+ -2 -> False+ _ -> True+ , \x y -> case (x,y) of+ (-2,False) -> False+ _ -> True+ , \x y -> case (x,y) of+ (-2,True) -> False+ _ -> True+ ]+ , ...+ ]
+ test/diff/tiers-default-Int-Int-Int-Int.out view
@@ -0,0 +1,116 @@+map length (tiers :: [[ Int->Int->Int->Int ]]) = [1,1,7,25,...]++length (list :: [ Int->Int->Int->Int ]) = Infinity++allUnique (list :: [ Int->Int->Int->Int ]) = True++ratioRepetitions (list :: [ Int->Int->Int->Int ]) = 0 % 1++tiers :: [Int->Int->Int->Int] =+ [ [\_ _ _ -> 0]+ , [\_ _ _ -> 1]+ , [ \x _ _ -> case x of+ 0 -> 1+ _ -> 0+ , \x _ _ -> case x of+ 0 -> 0+ _ -> 1+ , \_ y _ -> case y of+ 0 -> 1+ _ -> 0+ , \_ y _ -> case y of+ 0 -> 0+ _ -> 1+ , \_ _ z -> case z of+ 0 -> 1+ _ -> 0+ , \_ _ z -> case z of+ 0 -> 0+ _ -> 1+ , \_ _ _ -> -1+ ]+ , [ \x y _ -> case (x,y) of+ (0,0) -> 1+ _ -> 0+ , \x y _ -> case (x,y) of+ (_,0) -> 0+ (0,_) -> 1+ _ -> 0+ , \x _ z -> case (x,z) of+ (0,0) -> 1+ _ -> 0+ , \x _ z -> case (x,z) of+ (_,0) -> 0+ (0,_) -> 1+ _ -> 0+ , \x _ _ -> case x of+ 0 -> -1+ _ -> 0+ , \x _ _ -> case x of+ 1 -> 1+ _ -> 0+ , \x _ _ -> case x of+ 1 -> 0+ _ -> 1+ , \x y _ -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x y _ -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 1+ , \x _ z -> case (x,z) of+ (0,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x _ z -> case (x,z) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 1+ , \x _ _ -> case x of+ 0 -> 0+ _ -> -1+ , \_ y z -> case (y,z) of+ (0,0) -> 1+ _ -> 0+ , \_ y z -> case (y,z) of+ (_,0) -> 0+ (0,_) -> 1+ _ -> 0+ , \_ y _ -> case y of+ 0 -> -1+ _ -> 0+ , \_ y _ -> case y of+ 1 -> 1+ _ -> 0+ , \_ y _ -> case y of+ 1 -> 0+ _ -> 1+ , \_ y z -> case (y,z) of+ (0,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \_ y z -> case (y,z) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 1+ , \_ y _ -> case y of+ 0 -> 0+ _ -> -1+ , \_ _ z -> case z of+ 0 -> -1+ _ -> 0+ , \_ _ z -> case z of+ 1 -> 1+ _ -> 0+ , \_ _ z -> case z of+ 1 -> 0+ _ -> 1+ , \_ _ z -> case z of+ 0 -> 0+ _ -> -1+ , \_ _ _ -> 2+ ]+ , ...+ ]
+ test/diff/tiers-default-Int-Int-Int.out view
@@ -0,0 +1,528 @@+map length (tiers :: [[ Int->Int->Int ]]) = [1,1,5,13,35,81,...]++length (list :: [ Int->Int->Int ]) = Infinity++allUnique (list :: [ Int->Int->Int ]) = True++ratioRepetitions (list :: [ Int->Int->Int ]) = 0 % 1++tiers :: [Int->Int->Int] =+ [ [\_ _ -> 0]+ , [\_ _ -> 1]+ , [ \x _ -> case x of+ 0 -> 1+ _ -> 0+ , \x _ -> case x of+ 0 -> 0+ _ -> 1+ , \_ y -> case y of+ 0 -> 1+ _ -> 0+ , \_ y -> case y of+ 0 -> 0+ _ -> 1+ , \_ _ -> -1+ ]+ , [ \x y -> case (x,y) of+ (0,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,_) -> 1+ _ -> 0+ , \x _ -> case x of+ 0 -> -1+ _ -> 0+ , \x _ -> case x of+ 1 -> 1+ _ -> 0+ , \x _ -> case x of+ 1 -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 1+ , \x _ -> case x of+ 0 -> 0+ _ -> -1+ , \_ y -> case y of+ 0 -> -1+ _ -> 0+ , \_ y -> case y of+ 1 -> 1+ _ -> 0+ , \_ y -> case y of+ 1 -> 0+ _ -> 1+ , \_ y -> case y of+ 0 -> 0+ _ -> -1+ , \_ _ -> 2+ ]+ , [ \x y -> case (x,y) of+ (0,0) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (0,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> 0+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,_) -> -1+ _ -> 0+ , \x _ -> case x of+ 0 -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (1,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> 1+ _ -> 0+ , \x _ -> case x of+ 1 -> -1+ _ -> 0+ , \x _ -> case x of+ -1 -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 1+ (0,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ _ -> 1+ , \x _ -> case x of+ 0 -> -1+ _ -> 1+ , \x _ -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 1+ , \x _ -> case x of+ -1 -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> 0+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (_,0) -> 0+ (1,_) -> 0+ _ -> 1+ , \x _ -> case x of+ 0 -> 1+ _ -> -1+ , \x _ -> case x of+ 1 -> 0+ _ -> -1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> -1+ , \x _ -> case x of+ 0 -> 0+ _ -> 2+ , \_ y -> case y of+ 0 -> 2+ _ -> 0+ , \_ y -> case y of+ 1 -> -1+ _ -> 0+ , \_ y -> case y of+ -1 -> 1+ _ -> 0+ , \_ y -> case y of+ 0 -> -1+ _ -> 1+ , \_ y -> case y of+ 0 -> 0+ 1 -> 0+ _ -> 1+ , \_ y -> case y of+ -1 -> 0+ _ -> 1+ , \_ y -> case y of+ 0 -> 1+ _ -> -1+ , \_ y -> case y of+ 1 -> 0+ _ -> -1+ , \_ y -> case y of+ 0 -> 0+ _ -> 2+ , \_ _ -> -2+ ]+ , [ \x y -> case (x,y) of+ (0,0) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,1) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (0,-1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> -1+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (_,1) -> 0+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,1) -> 1+ (1,_) -> 0+ (_,0) -> 0+ (_,-1) -> 0+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> -1+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> 0+ (0,_) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,_) -> 2+ _ -> 0+ , \x _ -> case x of+ 0 -> -2+ _ -> 0+ , \x y -> case (x,y) of+ (1,0) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (1,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (1,0) -> 1+ (_,1) -> 0+ (-1,_) -> 0+ (_,0) -> 0+ (1,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> -1+ _ -> 0+ , \x _ -> case x of+ 1 -> 2+ _ -> 0+ , \x _ -> case x of+ 0 -> 1+ 1 -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (-1,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> 0+ (-1,_) -> 1+ _ -> 0+ , \x _ -> case x of+ -1 -> -1+ _ -> 0+ , \x _ -> case x of+ 2 -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> -1+ (0,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (_,1) -> 1+ (1,_) -> 1+ (_,0) -> 1+ (0,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> -1+ _ -> 1+ , \x _ -> case x of+ 0 -> 2+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 1+ (1,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (1,0) -> 0+ _ -> 1+ , \x _ -> case x of+ 1 -> -1+ _ -> 1+ , \x _ -> case x of+ 0 -> 0+ -1 -> 0+ _ -> 1+ , \x _ -> case x of+ 2 -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> 1+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> -1+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 1+ (1,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (1,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,1) -> 0+ (1,0) -> 1+ (0,-1) -> 0+ (1,1) -> 0+ (-1,0) -> 0+ (0,2) -> 0+ (1,-1) -> 0+ ...+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> 0+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> -1+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> 1+ (_,1) -> 1+ (1,_) -> 1+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (_,0) -> 0+ (-1,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> 0+ _ -> -1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> 1+ _ -> -1+ , \x _ -> case x of+ 1 -> 1+ _ -> -1+ , \x _ -> case x of+ 0 -> 0+ 1 -> 0+ _ -> -1+ , \x _ -> case x of+ -1 -> 0+ _ -> -1+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> -1+ (0,_) -> 0+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,1) -> 1+ (0,_) -> 0+ (_,-1) -> 0+ (1,_) -> 0+ (_,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 1+ (_,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (_,1) -> 0+ (1,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 0+ _ -> -1+ , \x y -> case (x,y) of+ (_,0) -> 0+ (1,_) -> 0+ _ -> -1+ , \x _ -> case x of+ 0 -> 1+ _ -> 2+ , \x _ -> case x of+ 1 -> 0+ _ -> 2+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> -1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> 0+ (_,-1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> -1+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,-1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 1+ _ -> -1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,1) -> 0+ _ -> -1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 2+ , \x _ -> case x of+ 0 -> 0+ _ -> -2+ , \_ y -> case y of+ 0 -> -2+ _ -> 0+ , \_ y -> case y of+ 1 -> 2+ _ -> 0+ , \_ y -> case y of+ 0 -> 1+ 1 -> 1+ _ -> 0+ , \_ y -> case y of+ -1 -> -1+ _ -> 0+ , \_ y -> case y of+ 2 -> 1+ _ -> 0+ , \_ y -> case y of+ 0 -> 2+ _ -> 1+ , \_ y -> case y of+ 1 -> -1+ _ -> 1+ , \_ y -> case y of+ 0 -> 0+ -1 -> 0+ _ -> 1+ , \_ y -> case y of+ 2 -> 0+ _ -> 1+ , \_ y -> case y of+ 1 -> 1+ _ -> -1+ , \_ y -> case y of+ 0 -> 0+ 1 -> 0+ _ -> -1+ , \_ y -> case y of+ -1 -> 0+ _ -> -1+ , \_ y -> case y of+ 0 -> 1+ _ -> 2+ , \_ y -> case y of+ 1 -> 0+ _ -> 2+ , \_ y -> case y of+ 0 -> 0+ _ -> -2+ , \_ _ -> 3+ ]+ , ...+ ]
+ test/diff/tiers-default-Int-Int.out view
@@ -0,0 +1,670 @@+map length (tiers :: [[ Int->Int ]]) = [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Int->Int ]) = Infinity++allUnique (list :: [ Int->Int ]) = True++ratioRepetitions (list :: [ Int->Int ]) = 0 % 1++tiers :: [Int->Int] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [ \x -> case x of+ 0 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 0+ _ -> 1+ , \_ -> -1+ ]+ , [ \x -> case x of+ 0 -> -1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 0+ _ -> -1+ , \_ -> 2+ ]+ , [ \x -> case x of+ 0 -> 2+ _ -> 0+ , \x -> case x of+ 1 -> -1+ _ -> 0+ , \x -> case x of+ -1 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 1+ , \x -> case x of+ -1 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 1+ _ -> -1+ , \x -> case x of+ 1 -> 0+ _ -> -1+ , \x -> case x of+ 0 -> 0+ _ -> 2+ , \_ -> -2+ ]+ , [ \x -> case x of+ 0 -> -2+ _ -> 0+ , \x -> case x of+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> 1+ _ -> 0+ , \x -> case x of+ -1 -> -1+ _ -> 0+ , \x -> case x of+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 2+ _ -> 1+ , \x -> case x of+ 1 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> 0+ -1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> -1+ , \x -> case x of+ -1 -> 0+ _ -> -1+ , \x -> case x of+ 0 -> 1+ _ -> 2+ , \x -> case x of+ 1 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 0+ _ -> -2+ , \_ -> 3+ ]+ , [ \x -> case x of+ 0 -> 3+ _ -> 0+ , \x -> case x of+ 1 -> -2+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> -1+ _ -> 0+ , \x -> case x of+ 0 -> -1+ 1 -> 1+ _ -> 0+ , \x -> case x of+ -1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 1+ -1 -> 1+ _ -> 0+ , \x -> case x of+ 2 -> -1+ _ -> 0+ , \x -> case x of+ -2 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> -2+ _ -> 1+ , \x -> case x of+ 1 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> -1+ 1 -> 0+ _ -> 1+ , \x -> case x of+ -1 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ -1 -> 0+ _ -> 1+ , \x -> case x of+ -2 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 2+ _ -> -1+ , \x -> case x of+ 0 -> 0+ 1 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ _ -> -1+ , \x -> case x of+ -1 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 0+ -1 -> 0+ _ -> -1+ , \x -> case x of+ 2 -> 0+ _ -> -1+ , \x -> case x of+ 0 -> -1+ _ -> 2+ , \x -> case x of+ 1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 2+ , \x -> case x of+ -1 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 1+ _ -> -2+ , \x -> case x of+ 1 -> 0+ _ -> -2+ , \x -> case x of+ 0 -> 0+ _ -> 3+ , \_ -> -3+ ]+ , [ \x -> case x of+ 0 -> -3+ _ -> 0+ , \x -> case x of+ 1 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> -1+ 1 -> -1+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 1 -> 1+ _ -> 0+ , \x -> case x of+ -1 -> -2+ _ -> 0+ , \x -> case x of+ 0 -> 1+ -1 -> -1+ _ -> 0+ , \x -> case x of+ 0 -> -1+ -1 -> 1+ _ -> 0+ , \x -> case x of+ 2 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ -1 -> 1+ _ -> 0+ , \x -> case x of+ -2 -> -1+ _ -> 0+ , \x -> case x of+ 3 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 3+ _ -> 1+ , \x -> case x of+ 1 -> -2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 2+ 1 -> 0+ _ -> 1+ , \x -> case x of+ -1 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ -1 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> -1+ -1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ -1 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 0+ -2 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> -2+ _ -> -1+ , \x -> case x of+ 1 -> 2+ _ -> -1+ , \x -> case x of+ 0 -> 1+ 1 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 0+ -1 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 1+ -1 -> 0+ _ -> -1+ , \x -> case x of+ 2 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 0+ 2 -> 0+ _ -> -1+ , \x -> case x of+ 1 -> 0+ -1 -> 0+ _ -> -1+ , \x -> case x of+ -2 -> 0+ _ -> -1+ , \x -> case x of+ 1 -> -1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ _ -> 2+ , \x -> case x of+ -1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ -1 -> 0+ _ -> 2+ , \x -> case x of+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> -1+ _ -> -2+ , \x -> case x of+ 1 -> 1+ _ -> -2+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> -2+ , \x -> case x of+ -1 -> 0+ _ -> -2+ , \x -> case x of+ 0 -> 1+ _ -> 3+ , \x -> case x of+ 1 -> 0+ _ -> 3+ , \x -> case x of+ 0 -> 0+ _ -> -3+ , \_ -> 4+ ]+ , [ \x -> case x of+ 0 -> 4+ _ -> 0+ , \x -> case x of+ 1 -> -3+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> -2+ _ -> 0+ , \x -> case x of+ 0 -> -1+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 1 -> -1+ _ -> 0+ , \x -> case x of+ 0 -> -2+ 1 -> 1+ _ -> 0+ , \x -> case x of+ -1 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 1+ -1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> -1+ -1 -> -1+ _ -> 0+ , \x -> case x of+ 0 -> 2+ -1 -> 1+ _ -> 0+ , \x -> case x of+ 2 -> -2+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 2 -> -1+ _ -> 0+ , \x -> case x of+ 0 -> -1+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ -1 -> -1+ _ -> 0+ , \x -> case x of+ 1 -> -1+ -1 -> 1+ _ -> 0+ , \x -> case x of+ -2 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 1+ -2 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 3 -> -1+ _ -> 0+ , \x -> case x of+ -3 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> -3+ _ -> 1+ , \x -> case x of+ 1 -> 3+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> -2+ _ -> 1+ , \x -> case x of+ 0 -> -1+ 1 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> -2+ 1 -> 0+ _ -> 1+ , \x -> case x of+ -1 -> -2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ -1 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 2+ -1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 2 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> -1+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ -1 -> -1+ _ -> 1+ , \x -> case x of+ 1 -> -1+ -1 -> 0+ _ -> 1+ , \x -> case x of+ -2 -> -1+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ -2 -> 0+ _ -> 1+ , \x -> case x of+ -1 -> 0+ 2 -> 0+ _ -> 1+ , \x -> case x of+ -3 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 3+ _ -> -1+ , \x -> case x of+ 1 -> -2+ _ -> -1+ , \x -> case x of+ 0 -> 0+ 1 -> 2+ _ -> -1+ , \x -> case x of+ 0 -> 2+ 1 -> 0+ _ -> -1+ , \x -> case x of+ -1 -> 2+ _ -> -1+ , \x -> case x of+ 0 -> 1+ -1 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 0+ 2 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 1+ 2 -> 0+ _ -> -1+ , \x -> case x of+ 1 -> 0+ -1 -> 1+ _ -> -1+ , \x -> case x of+ 1 -> 1+ -1 -> 0+ _ -> -1+ , \x -> case x of+ -2 -> 1+ _ -> -1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ -1 -> 0+ _ -> -1+ , \x -> case x of+ 0 -> 0+ -2 -> 0+ _ -> -1+ , \x -> case x of+ 1 -> 0+ 2 -> 0+ _ -> -1+ , \x -> case x of+ 3 -> 0+ _ -> -1+ , \x -> case x of+ 0 -> -2+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> -1+ _ -> 2+ , \x -> case x of+ 0 -> 1+ 1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> -1+ 1 -> 0+ _ -> 2+ , \x -> case x of+ -1 -> -1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ -1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 1+ -1 -> 0+ _ -> 2+ , \x -> case x of+ 2 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 1 -> 0+ -1 -> 0+ _ -> 2+ , \x -> case x of+ -2 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 2+ _ -> -2+ , \x -> case x of+ 1 -> -1+ _ -> -2+ , \x -> case x of+ 0 -> 0+ 1 -> 1+ _ -> -2+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ _ -> -2+ , \x -> case x of+ -1 -> 1+ _ -> -2+ , \x -> case x of+ 0 -> 0+ -1 -> 0+ _ -> -2+ , \x -> case x of+ 2 -> 0+ _ -> -2+ , \x -> case x of+ 0 -> -1+ _ -> 3+ , \x -> case x of+ 1 -> 1+ _ -> 3+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 3+ , \x -> case x of+ -1 -> 0+ _ -> 3+ , \x -> case x of+ 0 -> 1+ _ -> -3+ , \x -> case x of+ 1 -> 0+ _ -> -3+ , \x -> case x of+ 0 -> 0+ _ -> 4+ , \_ -> -4+ ]+ , ...+ ]
+ test/diff/tiers-default-Ints-Ints.out view
@@ -0,0 +1,317 @@+map length (tiers :: [[ [Int]->[Int] ]]) = [1,1,4,10,29,75,...]++length (list :: [ [Int]->[Int] ]) = Infinity++allUnique (list :: [ [Int]->[Int] ]) = True++ratioRepetitions (list :: [ [Int]->[Int] ]) = 0 % 1++tiers :: [[Int]->[Int]] =+ [ [\_ -> []]+ , [\_ -> [0]]+ , [ \x -> case x of+ [] -> [0]+ _ -> []+ , \x -> case x of+ [] -> []+ _ -> [0]+ , \_ -> [0,0]+ , \_ -> [1]+ ]+ , [ \x -> case x of+ [] -> [0,0]+ _ -> []+ , \x -> case x of+ [] -> [1]+ _ -> []+ , \x -> case x of+ [0] -> [0]+ _ -> []+ , \x -> case x of+ [0] -> []+ _ -> [0]+ , \x -> case x of+ [] -> []+ _ -> [0,0]+ , \x -> case x of+ [] -> []+ _ -> [1]+ , \_ -> [0,0,0]+ , \_ -> [0,1]+ , \_ -> [1,0]+ , \_ -> [-1]+ ]+ , [ \x -> case x of+ [] -> [0,0,0]+ _ -> []+ , \x -> case x of+ [] -> [0,1]+ _ -> []+ , \x -> case x of+ [] -> [1,0]+ _ -> []+ , \x -> case x of+ [] -> [-1]+ _ -> []+ , \x -> case x of+ [0] -> [0,0]+ _ -> []+ , \x -> case x of+ [0] -> [1]+ _ -> []+ , \x -> case x of+ [0,0] -> [0]+ _ -> []+ , \x -> case x of+ [1] -> [0]+ _ -> []+ , \x -> case x of+ [] -> [0,0]+ _ -> [0]+ , \x -> case x of+ [] -> [1]+ _ -> [0]+ , \x -> case x of+ [] -> []+ [0] -> []+ _ -> [0]+ , \x -> case x of+ [0,0] -> []+ _ -> [0]+ , \x -> case x of+ [1] -> []+ _ -> [0]+ , \x -> case x of+ [] -> [0]+ _ -> [0,0]+ , \x -> case x of+ [0] -> []+ _ -> [0,0]+ , \x -> case x of+ [] -> [0]+ _ -> [1]+ , \x -> case x of+ [0] -> []+ _ -> [1]+ , \x -> case x of+ [] -> []+ _ -> [0,0,0]+ , \x -> case x of+ [] -> []+ _ -> [0,1]+ , \x -> case x of+ [] -> []+ _ -> [1,0]+ , \x -> case x of+ [] -> []+ _ -> [-1]+ , \_ -> [0,0,0,0]+ , \_ -> [0,0,1]+ , \_ -> [0,1,0]+ , \_ -> [0,-1]+ , \_ -> [1,0,0]+ , \_ -> [1,1]+ , \_ -> [-1,0]+ , \_ -> [2]+ ]+ , [ \x -> case x of+ [] -> [0,0,0,0]+ _ -> []+ , \x -> case x of+ [] -> [0,0,1]+ _ -> []+ , \x -> case x of+ [] -> [0,1,0]+ _ -> []+ , \x -> case x of+ [] -> [0,-1]+ _ -> []+ , \x -> case x of+ [] -> [1,0,0]+ _ -> []+ , \x -> case x of+ [] -> [1,1]+ _ -> []+ , \x -> case x of+ [] -> [-1,0]+ _ -> []+ , \x -> case x of+ [] -> [2]+ _ -> []+ , \x -> case x of+ [0] -> [0,0,0]+ _ -> []+ , \x -> case x of+ [0] -> [0,1]+ _ -> []+ , \x -> case x of+ [0] -> [1,0]+ _ -> []+ , \x -> case x of+ [0] -> [-1]+ _ -> []+ , \x -> case x of+ [] -> [0]+ [0] -> [0]+ _ -> []+ , \x -> case x of+ [0,0] -> [0,0]+ _ -> []+ , \x -> case x of+ [0,0] -> [1]+ _ -> []+ , \x -> case x of+ [1] -> [0,0]+ _ -> []+ , \x -> case x of+ [1] -> [1]+ _ -> []+ , \x -> case x of+ [0,0,0] -> [0]+ _ -> []+ , \x -> case x of+ [0,1] -> [0]+ _ -> []+ , \x -> case x of+ [1,0] -> [0]+ _ -> []+ , \x -> case x of+ [-1] -> [0]+ _ -> []+ , \x -> case x of+ [] -> [0,0,0]+ _ -> [0]+ , \x -> case x of+ [] -> [0,1]+ _ -> [0]+ , \x -> case x of+ [] -> [1,0]+ _ -> [0]+ , \x -> case x of+ [] -> [-1]+ _ -> [0]+ , \x -> case x of+ [0] -> [0,0]+ _ -> [0]+ , \x -> case x of+ [0] -> [1]+ _ -> [0]+ , \x -> case x of+ [] -> []+ [0,0] -> []+ _ -> [0]+ , \x -> case x of+ [] -> []+ [1] -> []+ _ -> [0]+ , \x -> case x of+ [0,0,0] -> []+ _ -> [0]+ , \x -> case x of+ [0,1] -> []+ _ -> [0]+ , \x -> case x of+ [1,0] -> []+ _ -> [0]+ , \x -> case x of+ [-1] -> []+ _ -> [0]+ , \x -> case x of+ [] -> [1]+ _ -> [0,0]+ , \x -> case x of+ [0] -> [0]+ _ -> [0,0]+ , \x -> case x of+ [] -> []+ [0] -> []+ _ -> [0,0]+ , \x -> case x of+ [0,0] -> []+ _ -> [0,0]+ , \x -> case x of+ [1] -> []+ _ -> [0,0]+ , \x -> case x of+ [] -> [0,0]+ _ -> [1]+ , \x -> case x of+ [0] -> [0]+ _ -> [1]+ , \x -> case x of+ [] -> []+ [0] -> []+ _ -> [1]+ , \x -> case x of+ [0,0] -> []+ _ -> [1]+ , \x -> case x of+ [1] -> []+ _ -> [1]+ , \x -> case x of+ [] -> [0]+ _ -> [0,0,0]+ , \x -> case x of+ [0] -> []+ _ -> [0,0,0]+ , \x -> case x of+ [] -> [0]+ _ -> [0,1]+ , \x -> case x of+ [0] -> []+ _ -> [0,1]+ , \x -> case x of+ [] -> [0]+ _ -> [1,0]+ , \x -> case x of+ [0] -> []+ _ -> [1,0]+ , \x -> case x of+ [] -> [0]+ _ -> [-1]+ , \x -> case x of+ [0] -> []+ _ -> [-1]+ , \x -> case x of+ [] -> []+ _ -> [0,0,0,0]+ , \x -> case x of+ [] -> []+ _ -> [0,0,1]+ , \x -> case x of+ [] -> []+ _ -> [0,1,0]+ , \x -> case x of+ [] -> []+ _ -> [0,-1]+ , \x -> case x of+ [] -> []+ _ -> [1,0,0]+ , \x -> case x of+ [] -> []+ _ -> [1,1]+ , \x -> case x of+ [] -> []+ _ -> [-1,0]+ , \x -> case x of+ [] -> []+ _ -> [2]+ , \_ -> [0,0,0,0,0]+ , \_ -> [0,0,0,1]+ , \_ -> [0,0,1,0]+ , \_ -> [0,0,-1]+ , \_ -> [0,1,0,0]+ , \_ -> [0,1,1]+ , \_ -> [0,-1,0]+ , \_ -> [0,2]+ , \_ -> [1,0,0,0]+ , \_ -> [1,0,1]+ , \_ -> [1,1,0]+ , \_ -> [1,-1]+ , \_ -> [-1,0,0]+ , \_ -> [-1,1]+ , \_ -> [2,0]+ , \_ -> [-2]+ ]+ , ...+ ]
+ test/diff/tiers-default-MBool-Bool.out view
@@ -0,0 +1,31 @@+map length (tiers :: [[ Maybe Bool->Bool ]]) = [8]++length (list :: [ Maybe Bool->Bool ]) = 8++allUnique (list :: [ Maybe Bool->Bool ]) = True++ratioRepetitions (list :: [ Maybe Bool->Bool ]) = 0 % 1++tiers :: [Maybe Bool->Bool] =+ [ [ \_ -> False+ , \x -> case x of+ Just True -> True+ _ -> False+ , \x -> case x of+ Just False -> True+ _ -> False+ , \x -> case x of+ Nothing -> False+ _ -> True+ , \x -> case x of+ Nothing -> True+ _ -> False+ , \x -> case x of+ Just False -> False+ _ -> True+ , \x -> case x of+ Just True -> False+ _ -> True+ , \_ -> True+ ]+ ]
+ test/diff/tiers-default-MBool-MBool.out view
@@ -0,0 +1,94 @@+map length (tiers :: [[ Maybe Bool->Maybe Bool ]]) = [1,6,12,8]++length (list :: [ Maybe Bool->Maybe Bool ]) = Infinity++allUnique (list :: [ Maybe Bool->Maybe Bool ]) = True++ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ]) = 0 % 1++tiers :: [Maybe Bool->Maybe Bool] =+ [ [\_ -> Nothing]+ , [ \x -> case x of+ Just True -> Just False+ _ -> Nothing+ , \x -> case x of+ Just True -> Just True+ _ -> Nothing+ , \x -> case x of+ Just False -> Just False+ _ -> Nothing+ , \x -> case x of+ Just False -> Just True+ _ -> Nothing+ , \x -> case x of+ Nothing -> Just False+ _ -> Nothing+ , \x -> case x of+ Nothing -> Just True+ _ -> Nothing+ ]+ , [ \x -> case x of+ Nothing -> Nothing+ _ -> Just False+ , \x -> case x of+ Nothing -> Nothing+ Just False -> Just False+ Just True -> Just True+ , \x -> case x of+ Nothing -> Nothing+ Just False -> Just True+ Just True -> Just False+ , \x -> case x of+ Nothing -> Nothing+ _ -> Just True+ , \x -> case x of+ Just False -> Nothing+ _ -> Just False+ , \x -> case x of+ Nothing -> Just False+ Just False -> Nothing+ Just True -> Just True+ , \x -> case x of+ Just True -> Nothing+ _ -> Just False+ , \x -> case x of+ Nothing -> Just False+ Just False -> Just True+ Just True -> Nothing+ , \x -> case x of+ Nothing -> Just True+ Just False -> Nothing+ Just True -> Just False+ , \x -> case x of+ Just False -> Nothing+ _ -> Just True+ , \x -> case x of+ Nothing -> Just True+ Just False -> Just False+ Just True -> Nothing+ , \x -> case x of+ Just True -> Nothing+ _ -> Just True+ ]+ , [ \_ -> Just False+ , \x -> case x of+ Just True -> Just True+ _ -> Just False+ , \x -> case x of+ Just False -> Just True+ _ -> Just False+ , \x -> case x of+ Nothing -> Just False+ _ -> Just True+ , \x -> case x of+ Nothing -> Just True+ _ -> Just False+ , \x -> case x of+ Just False -> Just False+ _ -> Just True+ , \x -> case x of+ Just True -> Just False+ _ -> Just True+ , \_ -> Just True+ ]+ ]
+ test/diff/tiers-default-Nat,Nat-Nat.out view
@@ -0,0 +1,205 @@+map length (tiers :: [[ (Nat,Nat)->Nat ]]) = [1,1,3,7,17,35,...]++length (list :: [ (Nat,Nat)->Nat ]) = Infinity++allUnique (list :: [ (Nat,Nat)->Nat ]) = True++ratioRepetitions (list :: [ (Nat,Nat)->Nat ]) = 0 % 1++tiers :: [(Nat,Nat)->Nat] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [ \x -> case x of+ (0,0) -> 1+ _ -> 0+ , \x -> case x of+ (0,0) -> 0+ _ -> 1+ , \_ -> 2+ ]+ , [ \x -> case x of+ (0,0) -> 2+ _ -> 0+ , \x -> case x of+ (0,1) -> 1+ _ -> 0+ , \x -> case x of+ (1,0) -> 1+ _ -> 0+ , \x -> case x of+ (0,1) -> 0+ _ -> 1+ , \x -> case x of+ (1,0) -> 0+ _ -> 1+ , \x -> case x of+ (0,0) -> 0+ _ -> 2+ , \_ -> 3+ ]+ , [ \x -> case x of+ (0,0) -> 3+ _ -> 0+ , \x -> case x of+ (0,1) -> 2+ _ -> 0+ , \x -> case x of+ (1,0) -> 2+ _ -> 0+ , \x -> case x of+ (0,2) -> 1+ _ -> 0+ , \x -> case x of+ (1,1) -> 1+ _ -> 0+ , \x -> case x of+ (2,0) -> 1+ _ -> 0+ , \x -> case x of+ (0,0) -> 2+ _ -> 1+ , \x -> case x of+ (0,0) -> 0+ (0,1) -> 0+ _ -> 1+ , \x -> case x of+ (0,0) -> 0+ (1,0) -> 0+ _ -> 1+ , \x -> case x of+ (0,2) -> 0+ _ -> 1+ , \x -> case x of+ (1,1) -> 0+ _ -> 1+ , \x -> case x of+ (2,0) -> 0+ _ -> 1+ , \x -> case x of+ (0,0) -> 1+ _ -> 2+ , \x -> case x of+ (0,1) -> 0+ _ -> 2+ , \x -> case x of+ (1,0) -> 0+ _ -> 2+ , \x -> case x of+ (0,0) -> 0+ _ -> 3+ , \_ -> 4+ ]+ , [ \x -> case x of+ (0,0) -> 4+ _ -> 0+ , \x -> case x of+ (0,1) -> 3+ _ -> 0+ , \x -> case x of+ (1,0) -> 3+ _ -> 0+ , \x -> case x of+ (0,0) -> 1+ (0,1) -> 1+ _ -> 0+ , \x -> case x of+ (0,0) -> 1+ (1,0) -> 1+ _ -> 0+ , \x -> case x of+ (0,2) -> 2+ _ -> 0+ , \x -> case x of+ (1,1) -> 2+ _ -> 0+ , \x -> case x of+ (2,0) -> 2+ _ -> 0+ , \x -> case x of+ (0,3) -> 1+ _ -> 0+ , \x -> case x of+ (1,2) -> 1+ _ -> 0+ , \x -> case x of+ (2,1) -> 1+ _ -> 0+ , \x -> case x of+ (3,0) -> 1+ _ -> 0+ , \x -> case x of+ (0,0) -> 3+ _ -> 1+ , \x -> case x of+ (0,1) -> 2+ _ -> 1+ , \x -> case x of+ (1,0) -> 2+ _ -> 1+ , \x -> case x of+ (0,0) -> 0+ (0,2) -> 0+ _ -> 1+ , \x -> case x of+ (0,0) -> 0+ (1,1) -> 0+ _ -> 1+ , \x -> case x of+ (0,0) -> 0+ (2,0) -> 0+ _ -> 1+ , \x -> case x of+ (0,1) -> 0+ (1,0) -> 0+ _ -> 1+ , \x -> case x of+ (0,3) -> 0+ _ -> 1+ , \x -> case x of+ (1,2) -> 0+ _ -> 1+ , \x -> case x of+ (2,1) -> 0+ _ -> 1+ , \x -> case x of+ (3,0) -> 0+ _ -> 1+ , \x -> case x of+ (0,1) -> 1+ _ -> 2+ , \x -> case x of+ (1,0) -> 1+ _ -> 2+ , \x -> case x of+ (0,0) -> 0+ (0,1) -> 0+ _ -> 2+ , \x -> case x of+ (0,0) -> 0+ (1,0) -> 0+ _ -> 2+ , \x -> case x of+ (0,2) -> 0+ _ -> 2+ , \x -> case x of+ (1,1) -> 0+ _ -> 2+ , \x -> case x of+ (2,0) -> 0+ _ -> 2+ , \x -> case x of+ (0,0) -> 1+ _ -> 3+ , \x -> case x of+ (0,1) -> 0+ _ -> 3+ , \x -> case x of+ (1,0) -> 0+ _ -> 3+ , \x -> case x of+ (0,0) -> 0+ _ -> 4+ , \_ -> 5+ ]+ , ...+ ]
+ test/diff/tiers-default-Nat-Nat-Nat.out view
@@ -0,0 +1,528 @@+map length (tiers :: [[ Nat->Nat->Nat ]]) = [1,1,5,13,35,81,...]++length (list :: [ Nat->Nat->Nat ]) = Infinity++allUnique (list :: [ Nat->Nat->Nat ]) = True++ratioRepetitions (list :: [ Nat->Nat->Nat ]) = 0 % 1++tiers :: [Nat->Nat->Nat] =+ [ [\_ _ -> 0]+ , [\_ _ -> 1]+ , [ \x _ -> case x of+ 0 -> 1+ _ -> 0+ , \x _ -> case x of+ 0 -> 0+ _ -> 1+ , \_ y -> case y of+ 0 -> 1+ _ -> 0+ , \_ y -> case y of+ 0 -> 0+ _ -> 1+ , \_ _ -> 2+ ]+ , [ \x y -> case (x,y) of+ (0,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,_) -> 1+ _ -> 0+ , \x _ -> case x of+ 0 -> 2+ _ -> 0+ , \x _ -> case x of+ 1 -> 1+ _ -> 0+ , \x _ -> case x of+ 1 -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 1+ , \x _ -> case x of+ 0 -> 0+ _ -> 2+ , \_ y -> case y of+ 0 -> 2+ _ -> 0+ , \_ y -> case y of+ 1 -> 1+ _ -> 0+ , \_ y -> case y of+ 1 -> 0+ _ -> 1+ , \_ y -> case y of+ 0 -> 0+ _ -> 2+ , \_ _ -> 3+ ]+ , [ \x y -> case (x,y) of+ (0,0) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> 0+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,_) -> 2+ _ -> 0+ , \x _ -> case x of+ 0 -> 3+ _ -> 0+ , \x y -> case (x,y) of+ (1,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> 1+ _ -> 0+ , \x _ -> case x of+ 1 -> 2+ _ -> 0+ , \x _ -> case x of+ 2 -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 1+ (0,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ _ -> 1+ , \x _ -> case x of+ 0 -> 2+ _ -> 1+ , \x _ -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 1+ , \x _ -> case x of+ 2 -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> 0+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (_,0) -> 0+ (1,_) -> 0+ _ -> 1+ , \x _ -> case x of+ 0 -> 1+ _ -> 2+ , \x _ -> case x of+ 1 -> 0+ _ -> 2+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 2+ , \x _ -> case x of+ 0 -> 0+ _ -> 3+ , \_ y -> case y of+ 0 -> 3+ _ -> 0+ , \_ y -> case y of+ 1 -> 2+ _ -> 0+ , \_ y -> case y of+ 2 -> 1+ _ -> 0+ , \_ y -> case y of+ 0 -> 2+ _ -> 1+ , \_ y -> case y of+ 0 -> 0+ 1 -> 0+ _ -> 1+ , \_ y -> case y of+ 2 -> 0+ _ -> 1+ , \_ y -> case y of+ 0 -> 1+ _ -> 2+ , \_ y -> case y of+ 1 -> 0+ _ -> 2+ , \_ y -> case y of+ 0 -> 0+ _ -> 3+ , \_ _ -> 4+ ]+ , [ \x y -> case (x,y) of+ (0,0) -> 3+ _ -> 0+ , \x y -> case (x,y) of+ (0,1) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,2) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 2+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (_,1) -> 0+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,1) -> 1+ (1,_) -> 0+ (_,0) -> 0+ (_,2) -> 0+ (0,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 2+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> 0+ (0,_) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,_) -> 3+ _ -> 0+ , \x _ -> case x of+ 0 -> 4+ _ -> 0+ , \x y -> case (x,y) of+ (1,0) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (1,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (1,0) -> 1+ (_,1) -> 0+ (2,_) -> 0+ (_,0) -> 0+ (1,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> 2+ _ -> 0+ , \x _ -> case x of+ 1 -> 3+ _ -> 0+ , \x _ -> case x of+ 0 -> 1+ 1 -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (2,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> 0+ (2,_) -> 1+ _ -> 0+ , \x _ -> case x of+ 2 -> 2+ _ -> 0+ , \x _ -> case x of+ 3 -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 2+ (0,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (_,1) -> 1+ (1,_) -> 1+ (_,0) -> 1+ (0,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> 2+ _ -> 1+ , \x _ -> case x of+ 0 -> 3+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 1+ (1,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (1,0) -> 0+ _ -> 1+ , \x _ -> case x of+ 1 -> 2+ _ -> 1+ , \x _ -> case x of+ 0 -> 0+ 2 -> 0+ _ -> 1+ , \x _ -> case x of+ 3 -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> 1+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 2+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 1+ (1,_) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (1,_) -> 0+ (_,0) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,1) -> 0+ (1,0) -> 1+ (0,2) -> 0+ (1,1) -> 0+ (2,0) -> 0+ (0,3) -> 0+ (1,2) -> 0+ ...+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> 0+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 2+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> 1+ (_,1) -> 1+ (1,_) -> 1+ (_,0) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (1,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (_,0) -> 0+ (2,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,0) -> 1+ (0,_) -> 0+ _ -> 2+ , \x y -> case (x,y) of+ (0,0) -> 0+ (0,_) -> 1+ _ -> 2+ , \x _ -> case x of+ 1 -> 1+ _ -> 2+ , \x _ -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 2+ , \x _ -> case x of+ 2 -> 0+ _ -> 2+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,0) -> 2+ (0,_) -> 0+ (_,1) -> 0+ (1,_) -> 0+ (_,0) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (_,0) -> 0+ (0,1) -> 1+ (0,_) -> 0+ (_,2) -> 0+ (1,_) -> 0+ (_,1) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 1+ (_,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (_,1) -> 0+ (1,_) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 1+ (_,0) -> 0+ _ -> 2+ , \x y -> case (x,y) of+ (_,0) -> 0+ (1,_) -> 0+ _ -> 2+ , \x _ -> case x of+ 0 -> 1+ _ -> 3+ , \x _ -> case x of+ 1 -> 0+ _ -> 3+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 3+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> 2+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> 0+ (_,2) -> 1+ _ -> 0+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 2+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ (_,1) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,2) -> 0+ _ -> 1+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 1+ _ -> 2+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,1) -> 0+ _ -> 2+ , \x y -> case (x,y) of+ (0,_) -> 0+ (_,0) -> 0+ _ -> 3+ , \x _ -> case x of+ 0 -> 0+ _ -> 4+ , \_ y -> case y of+ 0 -> 4+ _ -> 0+ , \_ y -> case y of+ 1 -> 3+ _ -> 0+ , \_ y -> case y of+ 0 -> 1+ 1 -> 1+ _ -> 0+ , \_ y -> case y of+ 2 -> 2+ _ -> 0+ , \_ y -> case y of+ 3 -> 1+ _ -> 0+ , \_ y -> case y of+ 0 -> 3+ _ -> 1+ , \_ y -> case y of+ 1 -> 2+ _ -> 1+ , \_ y -> case y of+ 0 -> 0+ 2 -> 0+ _ -> 1+ , \_ y -> case y of+ 3 -> 0+ _ -> 1+ , \_ y -> case y of+ 1 -> 1+ _ -> 2+ , \_ y -> case y of+ 0 -> 0+ 1 -> 0+ _ -> 2+ , \_ y -> case y of+ 2 -> 0+ _ -> 2+ , \_ y -> case y of+ 0 -> 1+ _ -> 3+ , \_ y -> case y of+ 1 -> 0+ _ -> 3+ , \_ y -> case y of+ 0 -> 0+ _ -> 4+ , \_ _ -> 5+ ]+ , ...+ ]
+ test/diff/tiers-default-Nat-Nat.out view
@@ -0,0 +1,670 @@+map length (tiers :: [[ Nat->Nat ]]) = [1,1,3,5,10,16,30,48,80,...]++length (list :: [ Nat->Nat ]) = Infinity++allUnique (list :: [ Nat->Nat ]) = True++ratioRepetitions (list :: [ Nat->Nat ]) = 0 % 1++tiers :: [Nat->Nat] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [ \x -> case x of+ 0 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 0+ _ -> 1+ , \_ -> 2+ ]+ , [ \x -> case x of+ 0 -> 2+ _ -> 0+ , \x -> case x of+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 0+ _ -> 2+ , \_ -> 3+ ]+ , [ \x -> case x of+ 0 -> 3+ _ -> 0+ , \x -> case x of+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 1+ _ -> 2+ , \x -> case x of+ 1 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 0+ _ -> 3+ , \_ -> 4+ ]+ , [ \x -> case x of+ 0 -> 4+ _ -> 0+ , \x -> case x of+ 1 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 2 -> 2+ _ -> 0+ , \x -> case x of+ 3 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 3+ _ -> 1+ , \x -> case x of+ 1 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 2+ , \x -> case x of+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 1+ _ -> 3+ , \x -> case x of+ 1 -> 0+ _ -> 3+ , \x -> case x of+ 0 -> 0+ _ -> 4+ , \_ -> 5+ ]+ , [ \x -> case x of+ 0 -> 5+ _ -> 0+ , \x -> case x of+ 1 -> 4+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 2 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 3 -> 2+ _ -> 0+ , \x -> case x of+ 4 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 4+ _ -> 1+ , \x -> case x of+ 1 -> 3+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 2+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 4 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 3+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ _ -> 2+ , \x -> case x of+ 2 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 3 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 2+ _ -> 3+ , \x -> case x of+ 1 -> 1+ _ -> 3+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 3+ , \x -> case x of+ 2 -> 0+ _ -> 3+ , \x -> case x of+ 0 -> 1+ _ -> 4+ , \x -> case x of+ 1 -> 0+ _ -> 4+ , \x -> case x of+ 0 -> 0+ _ -> 5+ , \_ -> 6+ ]+ , [ \x -> case x of+ 0 -> 6+ _ -> 0+ , \x -> case x of+ 1 -> 5+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 3+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 2 -> 4+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 2 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 3 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 3 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 4 -> 2+ _ -> 0+ , \x -> case x of+ 5 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 5+ _ -> 1+ , \x -> case x of+ 1 -> 4+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 3+ _ -> 1+ , \x -> case x of+ 0 -> 3+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 3+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 2 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 2+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 3 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 4 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 5 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 4+ _ -> 2+ , \x -> case x of+ 1 -> 3+ _ -> 2+ , \x -> case x of+ 0 -> 1+ 1 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 2 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 1+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 3 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 3 -> 0+ _ -> 2+ , \x -> case x of+ 1 -> 0+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 4 -> 0+ _ -> 2+ , \x -> case x of+ 1 -> 2+ _ -> 3+ , \x -> case x of+ 0 -> 0+ 1 -> 1+ _ -> 3+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ _ -> 3+ , \x -> case x of+ 2 -> 1+ _ -> 3+ , \x -> case x of+ 0 -> 0+ 2 -> 0+ _ -> 3+ , \x -> case x of+ 3 -> 0+ _ -> 3+ , \x -> case x of+ 0 -> 2+ _ -> 4+ , \x -> case x of+ 1 -> 1+ _ -> 4+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 4+ , \x -> case x of+ 2 -> 0+ _ -> 4+ , \x -> case x of+ 0 -> 1+ _ -> 5+ , \x -> case x of+ 1 -> 0+ _ -> 5+ , \x -> case x of+ 0 -> 0+ _ -> 6+ , \_ -> 7+ ]+ , [ \x -> case x of+ 0 -> 7+ _ -> 0+ , \x -> case x of+ 1 -> 6+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 1 -> 4+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 1 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 3+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 4+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 2 -> 5+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 2 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 2 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 3+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 3 -> 4+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 3 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 2+ 3 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ 2 -> 2+ _ -> 0+ , \x -> case x of+ 1 -> 2+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 4 -> 3+ _ -> 0+ , \x -> case x of+ 0 -> 1+ 4 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ 3 -> 1+ _ -> 0+ , \x -> case x of+ 5 -> 2+ _ -> 0+ , \x -> case x of+ 6 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 6+ _ -> 1+ , \x -> case x of+ 1 -> 5+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 4+ _ -> 1+ , \x -> case x of+ 0 -> 2+ 1 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 4+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 4+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 2 -> 3+ _ -> 1+ , \x -> case x of+ 0 -> 3+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 3 -> 3+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 3 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 2+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ 2 -> 2+ _ -> 1+ , \x -> case x of+ 1 -> 2+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 4 -> 2+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 0+ 5 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ 4 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 0+ 3 -> 0+ _ -> 1+ , \x -> case x of+ 6 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 5+ _ -> 2+ , \x -> case x of+ 1 -> 4+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> 3+ _ -> 2+ , \x -> case x of+ 0 -> 3+ 1 -> 0+ _ -> 2+ , \x -> case x of+ 2 -> 3+ _ -> 2+ , \x -> case x of+ 0 -> 1+ 2 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 3 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 1+ 3 -> 0+ _ -> 2+ , \x -> case x of+ 1 -> 0+ 2 -> 1+ _ -> 2+ , \x -> case x of+ 1 -> 1+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 4 -> 1+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ 2 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 0+ 4 -> 0+ _ -> 2+ , \x -> case x of+ 1 -> 0+ 3 -> 0+ _ -> 2+ , \x -> case x of+ 5 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 4+ _ -> 3+ , \x -> case x of+ 0 -> 0+ 1 -> 2+ _ -> 3+ , \x -> case x of+ 0 -> 1+ 1 -> 1+ _ -> 3+ , \x -> case x of+ 0 -> 2+ 1 -> 0+ _ -> 3+ , \x -> case x of+ 2 -> 2+ _ -> 3+ , \x -> case x of+ 0 -> 0+ 2 -> 1+ _ -> 3+ , \x -> case x of+ 0 -> 1+ 2 -> 0+ _ -> 3+ , \x -> case x of+ 3 -> 1+ _ -> 3+ , \x -> case x of+ 0 -> 0+ 3 -> 0+ _ -> 3+ , \x -> case x of+ 1 -> 0+ 2 -> 0+ _ -> 3+ , \x -> case x of+ 4 -> 0+ _ -> 3+ , \x -> case x of+ 0 -> 3+ _ -> 4+ , \x -> case x of+ 1 -> 2+ _ -> 4+ , \x -> case x of+ 0 -> 0+ 1 -> 1+ _ -> 4+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ _ -> 4+ , \x -> case x of+ 2 -> 1+ _ -> 4+ , \x -> case x of+ 0 -> 0+ 2 -> 0+ _ -> 4+ , \x -> case x of+ 3 -> 0+ _ -> 4+ , \x -> case x of+ 0 -> 2+ _ -> 5+ , \x -> case x of+ 1 -> 1+ _ -> 5+ , \x -> case x of+ 0 -> 0+ 1 -> 0+ _ -> 5+ , \x -> case x of+ 2 -> 0+ _ -> 5+ , \x -> case x of+ 0 -> 1+ _ -> 6+ , \x -> case x of+ 1 -> 0+ _ -> 6+ , \x -> case x of+ 0 -> 0+ _ -> 7+ , \_ -> 8+ ]+ , ...+ ]
+ test/diff/tiers-default-Nat-U.out view
@@ -0,0 +1,17 @@+map length (tiers :: [[ Nat->() ]]) = [1,0,0,0,0,0,...]++length (list :: [ Nat->() ]) = 1++allUnique (list :: [ Nat->() ]) = True++ratioRepetitions (list :: [ Nat->() ]) = 0 % 1++tiers :: [Nat->()] =+ [ [\_ -> ()]+ , []+ , []+ , []+ , []+ , []+ , ...+ ]
+ test/diff/tiers-default-Nat2-Nat2.out view
@@ -0,0 +1,19 @@+map length (tiers :: [[ Nat2->Nat2 ]]) = [1,2,1]++length (list :: [ Nat2->Nat2 ]) = 4++allUnique (list :: [ Nat2->Nat2 ]) = True++ratioRepetitions (list :: [ Nat2->Nat2 ]) = 0 % 1++tiers :: [Nat2->Nat2] =+ [ [\_ -> 0]+ , [ \x -> case x of+ 0 -> 0+ 1 -> 1+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ ]+ , [\_ -> 1]+ ]
+ test/diff/tiers-default-Nat2-Nat3.out view
@@ -0,0 +1,34 @@+map length (tiers :: [[ Nat2->Nat3 ]]) = [1,2,3,2,1]++length (list :: [ Nat2->Nat3 ]) = 9++allUnique (list :: [ Nat2->Nat3 ]) = True++ratioRepetitions (list :: [ Nat2->Nat3 ]) = 0 % 1++tiers :: [Nat2->Nat3] =+ [ [\_ -> 0]+ , [ \x -> case x of+ 0 -> 0+ 1 -> 1+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ ]+ , [ \x -> case x of+ 0 -> 0+ 1 -> 2+ , \_ -> 1+ , \x -> case x of+ 0 -> 2+ 1 -> 0+ ]+ , [ \x -> case x of+ 0 -> 1+ 1 -> 2+ , \x -> case x of+ 0 -> 2+ 1 -> 1+ ]+ , [\_ -> 2]+ ]
+ test/diff/tiers-default-Nat3-Nat2.out view
@@ -0,0 +1,32 @@+map length (tiers :: [[ Nat3->Nat2 ]]) = [1,3,3,1]++length (list :: [ Nat3->Nat2 ]) = 8++allUnique (list :: [ Nat3->Nat2 ]) = True++ratioRepetitions (list :: [ Nat3->Nat2 ]) = 0 % 1++tiers :: [Nat3->Nat2] =+ [ [\_ -> 0]+ , [ \x -> case x of+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 1+ _ -> 0+ ]+ , [ \x -> case x of+ 0 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 0+ _ -> 1+ ]+ , [\_ -> 1]+ ]
+ test/diff/tiers-default-Nat3-Nat3.out view
@@ -0,0 +1,96 @@+map length (tiers :: [[ Nat3->Nat3 ]]) = [1,3,6,7,6,3,1]++length (list :: [ Nat3->Nat3 ]) = Infinity++allUnique (list :: [ Nat3->Nat3 ]) = True++ratioRepetitions (list :: [ Nat3->Nat3 ]) = 0 % 1++tiers :: [Nat3->Nat3] =+ [ [\_ -> 0]+ , [ \x -> case x of+ 2 -> 1+ _ -> 0+ , \x -> case x of+ 1 -> 1+ _ -> 0+ , \x -> case x of+ 0 -> 1+ _ -> 0+ ]+ , [ \x -> case x of+ 2 -> 2+ _ -> 0+ , \x -> case x of+ 0 -> 0+ _ -> 1+ , \x -> case x of+ 1 -> 2+ _ -> 0+ , \x -> case x of+ 1 -> 0+ _ -> 1+ , \x -> case x of+ 2 -> 0+ _ -> 1+ , \x -> case x of+ 0 -> 2+ _ -> 0+ ]+ , [ \x -> case x of+ 0 -> 0+ 1 -> 1+ 2 -> 2+ , \x -> case x of+ 0 -> 0+ 1 -> 2+ 2 -> 1+ , \x -> case x of+ 0 -> 1+ 1 -> 0+ 2 -> 2+ , \_ -> 1+ , \x -> case x of+ 0 -> 1+ 1 -> 2+ 2 -> 0+ , \x -> case x of+ 0 -> 2+ 1 -> 0+ 2 -> 1+ , \x -> case x of+ 0 -> 2+ 1 -> 1+ 2 -> 0+ ]+ , [ \x -> case x of+ 0 -> 0+ _ -> 2+ , \x -> case x of+ 2 -> 2+ _ -> 1+ , \x -> case x of+ 1 -> 2+ _ -> 1+ , \x -> case x of+ 1 -> 0+ _ -> 2+ , \x -> case x of+ 0 -> 2+ _ -> 1+ , \x -> case x of+ 2 -> 0+ _ -> 2+ ]+ , [ \x -> case x of+ 0 -> 1+ _ -> 2+ , \x -> case x of+ 1 -> 1+ _ -> 2+ , \x -> case x of+ 2 -> 1+ _ -> 2+ ]+ , [\_ -> 2]+ ]
+ test/diff/tiers-default-Nats-Nats.out view
@@ -0,0 +1,317 @@+map length (tiers :: [[ [Nat]->[Nat] ]]) = [1,1,4,10,29,75,...]++length (list :: [ [Nat]->[Nat] ]) = Infinity++allUnique (list :: [ [Nat]->[Nat] ]) = True++ratioRepetitions (list :: [ [Nat]->[Nat] ]) = 0 % 1++tiers :: [[Nat]->[Nat]] =+ [ [\_ -> []]+ , [\_ -> [0]]+ , [ \x -> case x of+ [] -> [0]+ _ -> []+ , \x -> case x of+ [] -> []+ _ -> [0]+ , \_ -> [0,0]+ , \_ -> [1]+ ]+ , [ \x -> case x of+ [] -> [0,0]+ _ -> []+ , \x -> case x of+ [] -> [1]+ _ -> []+ , \x -> case x of+ [0] -> [0]+ _ -> []+ , \x -> case x of+ [0] -> []+ _ -> [0]+ , \x -> case x of+ [] -> []+ _ -> [0,0]+ , \x -> case x of+ [] -> []+ _ -> [1]+ , \_ -> [0,0,0]+ , \_ -> [0,1]+ , \_ -> [1,0]+ , \_ -> [2]+ ]+ , [ \x -> case x of+ [] -> [0,0,0]+ _ -> []+ , \x -> case x of+ [] -> [0,1]+ _ -> []+ , \x -> case x of+ [] -> [1,0]+ _ -> []+ , \x -> case x of+ [] -> [2]+ _ -> []+ , \x -> case x of+ [0] -> [0,0]+ _ -> []+ , \x -> case x of+ [0] -> [1]+ _ -> []+ , \x -> case x of+ [0,0] -> [0]+ _ -> []+ , \x -> case x of+ [1] -> [0]+ _ -> []+ , \x -> case x of+ [] -> [0,0]+ _ -> [0]+ , \x -> case x of+ [] -> [1]+ _ -> [0]+ , \x -> case x of+ [] -> []+ [0] -> []+ _ -> [0]+ , \x -> case x of+ [0,0] -> []+ _ -> [0]+ , \x -> case x of+ [1] -> []+ _ -> [0]+ , \x -> case x of+ [] -> [0]+ _ -> [0,0]+ , \x -> case x of+ [0] -> []+ _ -> [0,0]+ , \x -> case x of+ [] -> [0]+ _ -> [1]+ , \x -> case x of+ [0] -> []+ _ -> [1]+ , \x -> case x of+ [] -> []+ _ -> [0,0,0]+ , \x -> case x of+ [] -> []+ _ -> [0,1]+ , \x -> case x of+ [] -> []+ _ -> [1,0]+ , \x -> case x of+ [] -> []+ _ -> [2]+ , \_ -> [0,0,0,0]+ , \_ -> [0,0,1]+ , \_ -> [0,1,0]+ , \_ -> [0,2]+ , \_ -> [1,0,0]+ , \_ -> [1,1]+ , \_ -> [2,0]+ , \_ -> [3]+ ]+ , [ \x -> case x of+ [] -> [0,0,0,0]+ _ -> []+ , \x -> case x of+ [] -> [0,0,1]+ _ -> []+ , \x -> case x of+ [] -> [0,1,0]+ _ -> []+ , \x -> case x of+ [] -> [0,2]+ _ -> []+ , \x -> case x of+ [] -> [1,0,0]+ _ -> []+ , \x -> case x of+ [] -> [1,1]+ _ -> []+ , \x -> case x of+ [] -> [2,0]+ _ -> []+ , \x -> case x of+ [] -> [3]+ _ -> []+ , \x -> case x of+ [0] -> [0,0,0]+ _ -> []+ , \x -> case x of+ [0] -> [0,1]+ _ -> []+ , \x -> case x of+ [0] -> [1,0]+ _ -> []+ , \x -> case x of+ [0] -> [2]+ _ -> []+ , \x -> case x of+ [] -> [0]+ [0] -> [0]+ _ -> []+ , \x -> case x of+ [0,0] -> [0,0]+ _ -> []+ , \x -> case x of+ [0,0] -> [1]+ _ -> []+ , \x -> case x of+ [1] -> [0,0]+ _ -> []+ , \x -> case x of+ [1] -> [1]+ _ -> []+ , \x -> case x of+ [0,0,0] -> [0]+ _ -> []+ , \x -> case x of+ [0,1] -> [0]+ _ -> []+ , \x -> case x of+ [1,0] -> [0]+ _ -> []+ , \x -> case x of+ [2] -> [0]+ _ -> []+ , \x -> case x of+ [] -> [0,0,0]+ _ -> [0]+ , \x -> case x of+ [] -> [0,1]+ _ -> [0]+ , \x -> case x of+ [] -> [1,0]+ _ -> [0]+ , \x -> case x of+ [] -> [2]+ _ -> [0]+ , \x -> case x of+ [0] -> [0,0]+ _ -> [0]+ , \x -> case x of+ [0] -> [1]+ _ -> [0]+ , \x -> case x of+ [] -> []+ [0,0] -> []+ _ -> [0]+ , \x -> case x of+ [] -> []+ [1] -> []+ _ -> [0]+ , \x -> case x of+ [0,0,0] -> []+ _ -> [0]+ , \x -> case x of+ [0,1] -> []+ _ -> [0]+ , \x -> case x of+ [1,0] -> []+ _ -> [0]+ , \x -> case x of+ [2] -> []+ _ -> [0]+ , \x -> case x of+ [] -> [1]+ _ -> [0,0]+ , \x -> case x of+ [0] -> [0]+ _ -> [0,0]+ , \x -> case x of+ [] -> []+ [0] -> []+ _ -> [0,0]+ , \x -> case x of+ [0,0] -> []+ _ -> [0,0]+ , \x -> case x of+ [1] -> []+ _ -> [0,0]+ , \x -> case x of+ [] -> [0,0]+ _ -> [1]+ , \x -> case x of+ [0] -> [0]+ _ -> [1]+ , \x -> case x of+ [] -> []+ [0] -> []+ _ -> [1]+ , \x -> case x of+ [0,0] -> []+ _ -> [1]+ , \x -> case x of+ [1] -> []+ _ -> [1]+ , \x -> case x of+ [] -> [0]+ _ -> [0,0,0]+ , \x -> case x of+ [0] -> []+ _ -> [0,0,0]+ , \x -> case x of+ [] -> [0]+ _ -> [0,1]+ , \x -> case x of+ [0] -> []+ _ -> [0,1]+ , \x -> case x of+ [] -> [0]+ _ -> [1,0]+ , \x -> case x of+ [0] -> []+ _ -> [1,0]+ , \x -> case x of+ [] -> [0]+ _ -> [2]+ , \x -> case x of+ [0] -> []+ _ -> [2]+ , \x -> case x of+ [] -> []+ _ -> [0,0,0,0]+ , \x -> case x of+ [] -> []+ _ -> [0,0,1]+ , \x -> case x of+ [] -> []+ _ -> [0,1,0]+ , \x -> case x of+ [] -> []+ _ -> [0,2]+ , \x -> case x of+ [] -> []+ _ -> [1,0,0]+ , \x -> case x of+ [] -> []+ _ -> [1,1]+ , \x -> case x of+ [] -> []+ _ -> [2,0]+ , \x -> case x of+ [] -> []+ _ -> [3]+ , \_ -> [0,0,0,0,0]+ , \_ -> [0,0,0,1]+ , \_ -> [0,0,1,0]+ , \_ -> [0,0,2]+ , \_ -> [0,1,0,0]+ , \_ -> [0,1,1]+ , \_ -> [0,2,0]+ , \_ -> [0,3]+ , \_ -> [1,0,0,0]+ , \_ -> [1,0,1]+ , \_ -> [1,1,0]+ , \_ -> [1,2]+ , \_ -> [2,0,0]+ , \_ -> [2,1]+ , \_ -> [3,0]+ , \_ -> [4]+ ]+ , ...+ ]
+ test/diff/tiers-default-U-Bool.out view
@@ -0,0 +1,13 @@+map length (tiers :: [[ ()->Bool ]]) = [2]++length (list :: [ ()->Bool ]) = 2++allUnique (list :: [ ()->Bool ]) = True++ratioRepetitions (list :: [ ()->Bool ]) = 0 % 1++tiers :: [()->Bool] =+ [ [ \_ -> False+ , \_ -> True+ ]+ ]
+ test/diff/tiers-default-U-Nat.out view
@@ -0,0 +1,17 @@+map length (tiers :: [[ ()->Nat ]]) = [1,1,1,1,1,1,...]++length (list :: [ ()->Nat ]) = Infinity++allUnique (list :: [ ()->Nat ]) = True++ratioRepetitions (list :: [ ()->Nat ]) = 0 % 1++tiers :: [()->Nat] =+ [ [\_ -> 0]+ , [\_ -> 1]+ , [\_ -> 2]+ , [\_ -> 3]+ , [\_ -> 4]+ , [\_ -> 5]+ , ...+ ]
+ test/diff/tiers-default-U-U.out view
@@ -0,0 +1,10 @@+map length (tiers :: [[ ()->() ]]) = [1]++length (list :: [ ()->() ]) = 1++allUnique (list :: [ ()->() ]) = True++ratioRepetitions (list :: [ ()->() ]) = 0 % 1++tiers :: [()->()] =+ [[\_ -> ()]]
+ test/diff/tiers-default-Us-Us.out view
@@ -0,0 +1,115 @@+map length (tiers :: [[ [()]->[()] ]]) = [1,1,3,5,10,16,...]++length (list :: [ [()]->[()] ]) = Infinity++allUnique (list :: [ [()]->[()] ]) = True++ratioRepetitions (list :: [ [()]->[()] ]) = 0 % 1++tiers :: [[()]->[()]] =+ [ [\_ -> []]+ , [\_ -> [()]]+ , [ \x -> case x of+ [] -> [()]+ _ -> []+ , \x -> case x of+ [] -> []+ _ -> [()]+ , \_ -> [(),()]+ ]+ , [ \x -> case x of+ [] -> [(),()]+ _ -> []+ , \x -> case x of+ [()] -> [()]+ _ -> []+ , \x -> case x of+ [()] -> []+ _ -> [()]+ , \x -> case x of+ [] -> []+ _ -> [(),()]+ , \_ -> [(),(),()]+ ]+ , [ \x -> case x of+ [] -> [(),(),()]+ _ -> []+ , \x -> case x of+ [()] -> [(),()]+ _ -> []+ , \x -> case x of+ [(),()] -> [()]+ _ -> []+ , \x -> case x of+ [] -> [(),()]+ _ -> [()]+ , \x -> case x of+ [] -> []+ [()] -> []+ _ -> [()]+ , \x -> case x of+ [(),()] -> []+ _ -> [()]+ , \x -> case x of+ [] -> [()]+ _ -> [(),()]+ , \x -> case x of+ [()] -> []+ _ -> [(),()]+ , \x -> case x of+ [] -> []+ _ -> [(),(),()]+ , \_ -> [(),(),(),()]+ ]+ , [ \x -> case x of+ [] -> [(),(),(),()]+ _ -> []+ , \x -> case x of+ [()] -> [(),(),()]+ _ -> []+ , \x -> case x of+ [] -> [()]+ [()] -> [()]+ _ -> []+ , \x -> case x of+ [(),()] -> [(),()]+ _ -> []+ , \x -> case x of+ [(),(),()] -> [()]+ _ -> []+ , \x -> case x of+ [] -> [(),(),()]+ _ -> [()]+ , \x -> case x of+ [()] -> [(),()]+ _ -> [()]+ , \x -> case x of+ [] -> []+ [(),()] -> []+ _ -> [()]+ , \x -> case x of+ [(),(),()] -> []+ _ -> [()]+ , \x -> case x of+ [()] -> [()]+ _ -> [(),()]+ , \x -> case x of+ [] -> []+ [()] -> []+ _ -> [(),()]+ , \x -> case x of+ [(),()] -> []+ _ -> [(),()]+ , \x -> case x of+ [] -> [()]+ _ -> [(),(),()]+ , \x -> case x of+ [()] -> []+ _ -> [(),(),()]+ , \x -> case x of+ [] -> []+ _ -> [(),(),(),()]+ , \_ -> [(),(),(),(),()]+ ]+ , ...+ ]
+ test/diff/tiers.out view
@@ -0,0 +1,10 @@+map length (tiers :: [[ () ]]) = [1]++length (list :: [ () ]) = 1++allUnique (list :: [ () ]) = True++ratioRepetitions (list :: [ () ]) = 0 % 1++tiers :: [()] =+ [[()]]
+ test/error.hs view
@@ -0,0 +1,64 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test ()++import System.Exit (exitFailure)+import Data.List (elemIndices,sort)++import Test.LeanCheck.Error+import Test.LeanCheck.Utils.Types (Nat)+import Data.List (sort)++main :: IO ()+main =+ case elemIndices False (tests 100) of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests n =+ [ True++ , not $ holds n prop_sortMinE+ , fails n prop_sortMinE+ , counterExample n prop_sortMinE == Just ["[]"]+ , counterExamples n prop_sortMinE == [["[]"]]++ , holds n prop_sortMin+ , not $ fails n prop_sortMin+ , counterExample n prop_sortMin == Nothing+ , counterExamples n prop_sortMin == []++ , exists n someNumbers+ , witness n someNumbers == Just ["2"]+ , witnesses n someNumbers == map ((:[]).show) [2,3,5,7,11,13,17]++ , exists n someOthers+ , witness n someOthers == Just ["2","2"]+ , witnesses (100*n) someOthers == (map.map) show [[2,2],[2,4],[3,3]+ ,[2,8],[3,9],[3,27]]+ ]++prop_sortMinE :: [Nat] -> Bool+prop_sortMinE xs = head (sort xs) == minimum (xs::[Nat])++prop_sortMin :: [Nat] -> Bool+prop_sortMin xs = not (null xs)+ ==> head (sort xs) == minimum (xs::[Nat])++someNumbers :: Int -> Bool+someNumbers 2 = True+someNumbers 3 = True+someNumbers 5 = True+someNumbers 7 = True+someNumbers 11 = True+someNumbers 13 = True+someNumbers 17 = True++someOthers :: Int -> Int -> Bool+someOthers = \x -> case x of 2 -> \y -> case y of 2 -> True+ 4 -> True+ 8 -> True+ 3 -> \y -> case y of 3 -> True+ 9 -> True+ 27 -> True
+ test/fun.hs view
@@ -0,0 +1,29 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test++import System.Exit (exitFailure)+import Data.List (elemIndices, sort, nub, delete)++import Test.LeanCheck+import Test.LeanCheck.Function.ListsOfPairs+import Test.LeanCheck.Utils+++main :: IO ()+main =+ case elemIndices False tests of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests =+ [ True+ -- TODO: add some tests here+ ]++allUnique :: Ord a => [a] -> Bool+allUnique [] = True+allUnique (x:xs) = x `notElem` xs+ && allUnique (filter (< x) xs)+ && allUnique (filter (> x) xs)
+ test/funshow.hs view
@@ -0,0 +1,158 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test++import System.Exit (exitFailure)+import Data.List (elemIndices,sort)+import Test.LeanCheck.Function.ShowFunction+import Test.LeanCheck.Function.Show+import Test.LeanCheck.Utils.TypeBinding++main :: IO ()+main =+ case elemIndices False tests of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure+++tests =+ [ True++ -- undefined values --+ , showFunction 2 int == "undefined"+ , showFunction 2 bool == "undefined"+ , showFunction 2 char == "undefined"+ , showFunctionLine 10 (int >- int) == "\\_ -> undefined"+ , showFunctionLine 10 (bool >- bool) == "\\_ -> undefined"++ -- partially defined --+ , showFunctionLine 2 (\x -> case x of True -> True)+ == "\\x -> case x of True -> True"+ , showFunctionLine 10 (\x -> case (x::Int) of 3 -> (4::Int); 5 -> 6)+ == "\\x -> case x of 3 -> 4; 5 -> 6"+ , showFunctionLine 10 (\x y -> case (x::Int,y::Int) of (1,2) -> (3::Int); (2,1) -> 3)+ == "\\x y -> case (x,y) of (1,2) -> 3; (2,1) -> 3"++ -- fully defined, infinite --+ , showFunction 3 ((+) -:> int)+ == "\\x y -> case (x,y) of\n"+ ++ " (0,0) -> 0\n"+ ++ " (0,1) -> 1\n"+ ++ " (1,0) -> 1\n"+ ++ " ...\n"+ , showFunction 3 ((++) -:> [int])+ == "\\x y -> case (x,y) of\n"+ ++ " ([],[]) -> []\n"+ ++ " ([],[0]) -> [0]\n"+ ++ " ([0],[]) -> [0]\n"+ ++ " ...\n"+ , showFunction 4 (sort -:> [char])+ == "\\x -> case x of\n"+ ++ " \"\" -> \"\"\n"+ ++ " \"a\" -> \"a\"\n"+ ++ " \"aa\" -> \"aa\"\n"+ ++ " \" \" -> \" \"\n"+ ++ " ...\n"+++ -- fully defined, finite --+ , showFunction 1 not+ == "\\x -> case x of\n"+ ++ " False -> True\n"+ ++ " ...\n"+ , showFunction 2 not+ == "\\x -> case x of\n"+ ++ " False -> True\n"+ ++ " True -> False\n"+ , showFunction 3 (&&)+ == "\\x y -> case (x,y) of\n"+ ++ " (True,True) -> True\n"+ ++ " _ -> False\n"+ , showFunction 4 (&&)+ == "\\x y -> case (x,y) of\n"+ ++ " (True,True) -> True\n"+ ++ " _ -> False\n"+ , showFunction 3 (||)+ == "\\x y -> case (x,y) of\n"+ ++ " (False,False) -> False\n"+ ++ " _ -> True\n"+ , showFunction 4 (||)+ == "\\x y -> case (x,y) of\n"+ ++ " (False,False) -> False\n"+ ++ " _ -> True\n"++ , showFunction 4 arg1of1is0+ == "\\x -> case x of\n"+ ++ " 0 -> True\n"+ ++ " _ -> False\n"+ , showFunction 4 arg1of1isnt1+ == "\\x -> case x of\n"+ ++ " 1 -> False\n"+ ++ " _ -> True\n"++ , showFunction 4 arg1of2is0+ == "\\x _ -> case x of\n"+ ++ " 0 -> True\n"+ ++ " _ -> False\n"+ , showFunction 4 arg2of2is0+ == "\\_ y -> case y of\n"+ ++ " 0 -> True\n"+ ++ " _ -> False\n"+ , showFunction 4 arg2of3isnt2+ == "\\_ y _ -> case y of\n"+ ++ " 2 -> False\n"+ ++ " _ -> True\n"+ , showFunction 4 args1or3of3are0+ == "\\x _ z -> case (x,z) of\n"+ ++ " (0,_) -> True\n"+ ++ " (_,0) -> True\n"+ ++ " _ -> False\n"+ , showFunction 4 args13of3arent0+ == "\\x _ z -> case (x,z) of\n"+ ++ " (0,0) -> False\n"+ ++ " _ -> True\n"+ ]++arg1of1is0 :: Int -> Bool+arg1of1is0 =+ \x -> case x of+ 0 -> True+ _ -> False++arg1of1isnt1 :: Int -> Bool+arg1of1isnt1 =+ \x -> case x of+ 1 -> False+ _ -> True++arg1of2is0 :: Int -> Int -> Bool+arg1of2is0 =+ \x y -> case (x,y) of+ (0,_) -> True+ _ -> False++arg2of2is0 :: Int -> Int -> Bool+arg2of2is0 =+ \x y -> case (x,y) of+ (_,0) -> True+ _ -> False++arg2of3isnt2 :: Int -> Int -> Int -> Bool+arg2of3isnt2 =+ \x y z -> case (x,y,z) of+ (_,2,_) -> False+ _ -> True++args1or3of3are0 :: Int -> Int -> Int -> Bool+args1or3of3are0 =+ \x y z -> case (x,y,z) of+ (0,_,_) -> True+ (_,_,0) -> True+ _ -> False++args13of3arent0 :: Int -> Int -> Int -> Bool+args13of3arent0 =+ \x y z -> case (x,y,z) of+ (0,_,0) -> False+ _ -> True
+ test/generic.hs view
@@ -0,0 +1,65 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+{-# LANGUAGE DeriveGeneric, StandaloneDeriving #-}+import Test+import Test.LeanCheck+import Test.LeanCheck.Generic+import System.Exit (exitFailure)+import Data.List (elemIndices,sort)+import Test.LeanCheck.Utils.Operators+import GHC.Generics (Generic)++data D0 = D0 deriving (Eq, Show, Generic)+data D1 a = D1 a deriving (Eq, Show, Generic)+data D2 a b = D2 a b deriving (Eq, Show, Generic)+data D3 a b c = D3 a b c deriving (Eq, Show, Generic)+data C1 a = C11 a | C10 deriving (Eq, Show, Generic)+data C2 a b = C22 a b | C21 a | C20 deriving (Eq, Show, Generic)+data I a b = a :+ b deriving (Eq, Show, Generic)++instance Listable D0 where tiers = genericTiers++instance Listable a => Listable (D1 a) where tiers = genericTiers++instance (Listable a, Listable b)+ => Listable (D2 a b) where tiers = genericTiers++instance (Listable a, Listable b, Listable c)+ => Listable (D3 a b c) where tiers = genericTiers++instance Listable a => Listable (C1 a) where tiers = genericTiers++instance (Listable a, Listable b)+ => Listable (C2 a b) where tiers = genericTiers++instance (Listable a, Listable b)+ => Listable (I a b) where tiers = genericTiers++main :: IO ()+main =+ case elemIndices False (tests 100) of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests n =+ [ True++ , map unD0 list =| n |= list+ , map unD1 list =| n |= (list :: [Int])+ , map unD2 list =| n |= (list :: [(Int,Int)])+ , map unD3 list =| n |= (list :: [(Int,Int,Int)])++ , map unD1 list == (list :: [()])+ , map unD2 list == (list :: [((),())])+ , map unD3 list == (list :: [((),(),())])++ , map unD1 list == (list :: [Bool])+ , map unD2 list == (list :: [(Bool,Bool)])+ , map unD3 list == (list :: [(Bool,Bool,Bool)])+ ]+ where+ unD0 (D0) = ()+ unD1 (D1 x) = (x)+ unD2 (D2 x y) = (x,y)+ unD3 (D3 x y z) = (x,y,z)
+ test/io.hs view
@@ -0,0 +1,10 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test+import Test.LeanCheck.IO++main :: IO ()+main = do+ check $ \x -> (x::Int) + x == 2*x -- should pass+--check $ \x -> (x::Int) + x == x -- should fail, falsifiable+--check $ \x -> (x::Int) `div` x == 1 -- should fail, exception
+ test/main.hs view
@@ -0,0 +1,101 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test++import System.Exit (exitFailure)+import Data.List (elemIndices)++import Test.LeanCheck+import Test.LeanCheck.Utils++import Data.Ratio+import Data.Word (Word)++main :: IO ()+main =+ case elemIndices False tests of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests :: [Bool]+tests =+ [ True++ -- interleave+ , [1,2,3] +| [0,0,0] == [1,0,2,0,3,0]+ , take 3 ([1,2] +| (0:undefined)) == [1,0,2]+ , [0,2..] +| [1,3..] =| 100 |= [0,1..]++ -- etc+ , tNatPairOrd 100+ , tNatTripleOrd 200+ , tNatQuadrupleOrd 300+ , tNatQuintupleOrd 400+ , tNatListOrd 500+ , tListsOfNatOrd 500+ , listsOf (tiers::[[Nat]]) =| 10 |= tiers++ -- tests!+ , counterExample 10 (\x y -> x + y /= (x::Int)) == Just ["0", "0"]+ , counterExample 10 (\x y -> x + y == (x::Int)) == Just ["0", "1"]+ , counterExample 10 (maybe True (==(0::Int))) == Just ["(Just 1)"]+ , holds 100 (\x -> x == (x::Int))++ -- For when NaN is in the enumeration (by default, it is not):+ --, fails 100 (\x -> x == (x::Float)) -- NaN != NaN :-)+ --, counterExample 100 (\x -> x == (x::Float)) == Just ["NaN"]+ , counterExample 10 (\x y -> x + y == (x::Float)) == Just ["0.0","1.0"]+ , counterExample 10 (\x y -> x + y == (x::Double)) == Just ["0.0","1.0"]+ , holds 50 (\x -> x + 1 /= (x::Int))+ , counterExample 50 (\x -> x + 1 /= (x::Float)) == Just ["Infinity"]+ || counterExample 50 (\x -> x + 1 /= (x::Float)) == Just ["inf"] -- bug on Hugs 2006-09?+ , counterExample 50 (\x -> x + 1 /= (x::Double)) == Just ["Infinity"]+ || counterExample 50 (\x -> x + 1 /= (x::Float)) == Just ["inf"] -- bug on Hugs 2006-09?+ , allUnique (take 100 list :: [Float])+ , allUnique (take 500 list :: [Double])++ , allUnique (take 500 list :: [Rational])+ , allUnique (take 100 list :: [Ratio Nat])+ , orderedOn (\r -> numerator r + denominator r) (take 500 (list :: [Ratio Nat]))+ , orderedOn (\r -> abs (numerator r) + abs(denominator r)) (take 500 (list :: [Rational]))++ , list == [LT, EQ, GT]+ , orderedOn length (take 500 (list :: [[Ordering]]))+ , orderedOn length (take 500 (list :: [[Bool]]))++ , strictlyOrderedOn (\xs -> (sum $ map (+1) xs, xs)) (take 500 (list :: [[Word]]))++ , tPairEqParams 100+ , tTripleEqParams 100++ , tProductsIsFilterByLength (tiers :: [[ Nat ]]) 10 `all` [1..10]+ , tProductsIsFilterByLength (tiers :: [[ Bool ]]) 6 `all` [1..10]+ , tProductsIsFilterByLength (tiers :: [[ [Nat] ]]) 6 `all` [1..10]++ , holds 100 $ (\/) ==== zipWith' (++) [] [] -:> [[uint2]]+ , holds 100 $ (\/) ==== zipWith' (++) [] [] -:> [[bool]]+ , holds 100 $ (\\//) ==== zipWith' (+|) [] [] -:> [[uint2]]+ , holds 100 $ (\\//) ==== zipWith' (+|) [] [] -:> [[bool]]+ ]++allUnique :: Ord a => [a] -> Bool+allUnique [] = True+allUnique (x:xs) = x `notElem` xs+ && allUnique (filter (< x) xs)+ && allUnique (filter (> x) xs)+++-- | 'zipwith\'' works similarly to 'zipWith', but takes neutral elements to+-- operate when one of the lists is exhausted, so, you don't loose elements.+--+-- > zipWith' f z e [x,y] [a,b,c,d] == [f x a, f y b, f z c, f z d]+--+-- > zipWith' f z e [x,y,z] [a] == [f x a, f y e, f z e]+--+-- > zipWith' (+) 0 0 [1,2,3] [1,2,3,4,5,6] == [2,4,6,4,5,6]+zipWith' :: (a->b->c) -> a -> b -> [a] -> [b] -> [c]+zipWith' _ _ _ [] [] = []+zipWith' f _ zy xs [] = map (`f` zy) xs+zipWith' f zx _ [] ys = map (f zx) ys+zipWith' f zx zy (x:xs) (y:ys) = f x y : zipWith' f zx zy xs ys
+ test/operators.hs view
@@ -0,0 +1,143 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test++import System.Exit (exitFailure)+import Data.List (elemIndices,sort)+import Test.LeanCheck+import Test.LeanCheck.Utils++import Data.List (isPrefixOf)+import Data.Function (on)++main :: IO ()+main =+ case elemIndices False (tests 100) of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests :: Int -> [Bool]+tests n =+ [ True++ , holds n $ (not . not) === id+ , fails n $ abs === (* (-1)) -:> int+ , holds n $ (+) ==== (\x y -> sum [x,y]) -:> int+ , fails n $ (+) ==== (*) -:> int++ , holds n $ const True &&& const True -:> bool+ , fails n $ const False &&& const True -:> int+ , holds n $ const False ||| const True -:> int+ , fails n $ const False ||| const False -:> int++ , holds n $ commutative (+) -:> int+ , holds n $ commutative (*) -:> int+ , holds n $ commutative (++) -:> [()]+ , holds n $ commutative (&&)+ , holds n $ commutative (||)+ , fails n $ commutative (-) -:> int+ , fails n $ commutative (++) -:> [bool]+ , fails n $ commutative (==>)++ , holds n $ associative (+) -:> int+ , holds n $ associative (*) -:> int+ , holds n $ associative (++) -:> [int]+ , holds n $ associative (&&)+ , holds n $ associative (||)+ , fails n $ associative (-) -:> int+ , fails n $ associative (==>)++ , holds n $ distributive (*) (+) -:> int+ , fails n $ distributive (+) (*) -:> int++ , holds n $ symmetric (==) -:> int+ , holds n $ symmetric (/=) -:> int+ , fails n $ symmetric (<=) -:> int++ , holds n $ reflexive (==) -:> int+ , holds n $ irreflexive (/=) -:> int++ , holds n $ (<) `symmetric2` (>) -:> int+ , holds n $ (<=) `symmetric2` (>=) -:> int+ , fails n $ (<) `symmetric2` (>=) -:> int+ , fails n $ (<=) `symmetric2` (>) -:> int++ , holds n $ transitive (==) -:> bool+ , holds n $ transitive (<) -:> bool+ , holds n $ transitive (<=) -:> bool+ , fails n $ transitive (/=) -:> bool+ , holds n $ transitive (==) -:> int+ , holds n $ transitive (<) -:> int+ , holds n $ transitive (<=) -:> int+ , fails n $ transitive (/=) -:> int++ , holds n $ asymmetric (<) -:> int+ , holds n $ antisymmetric (<=) -:> int+ , fails n $ asymmetric (<=) -:> int+ , holds n $ asymmetric (>) -:> int+ , holds n $ antisymmetric (>=) -:> int+ , fails n $ asymmetric (>=) -:> int++ , holds n $ equivalence (==) -:> int+ , holds n $ equivalence ((==) `on` fst) -:> (int,int)+ , holds n $ equivalence ((==) `on` length) -:> [int]++ , holds n $ totalOrder (<=) -:> int+ , holds n $ strictTotalOrder (<) -:> int+ , fails n $ totalOrder (<) -:> int+ , fails n $ strictTotalOrder (<=) -:> int+ , holds n $ totalOrder (>=) -:> int+ , holds n $ strictTotalOrder (>) -:> int+ , fails n $ totalOrder (>) -:> int+ , fails n $ strictTotalOrder (>=) -:> int++ , holds n $ partialOrder isPrefixOf -:> [int]+ , fails n $ totalOrder isPrefixOf -:> [int]++ , holds n $ comparison compare -:> int+ , holds n $ comparison compare -:> bool+ , holds n $ comparison compare -:> ()++ , holds n $ okEqOrd -:> ()+ , holds n $ okEqOrd -:> int+ , holds n $ okEqOrd -:> char+ , holds n $ okEqOrd -:> bool+ , holds n $ okEqOrd -:> [()]+ , holds n $ okEqOrd -:> [int]+ , holds n $ okEqOrd -:> [bool]+ , holds n $ okEqOrd -:> float -- fails if NaN is included in enumeration+ , holds n $ okEqOrd -:> double -- fails if NaN is included in enumeration+ , holds n $ okEqOrd -:> rational+ , holds n $ okEqOrd -:> nat+ , holds n $ okEqOrd -:> natural++ , holds n $ okNum -:> int+ , holds n $ okNum -:> integer+-- NOTE: the following two fail on Hugs due to a bug on Hugs.+--, holds n $ \x y z -> none isInfinite [x,y,z] ==> okNum x y (z -: float)+--, holds n $ \x y z -> none isInfinite [x,y,z] ==> okNum x y (z -: double)+ , holds n $ okNum -:> rational+ , holds n $ okNumNonNegative -:> nat+ , holds n $ okNumNonNegative -:> natural+ , holds n $ (\x y -> x < y ==> x - y == 0) -:> nat+ , holds n $ (\x y -> x < y ==> x - y == 0) -:> natural++ , holds n $ idempotent id -:> int+ , holds n $ idempotent abs -:> int+ , holds n $ idempotent sort -:> [bool]+ , fails n $ idempotent not++ , holds n $ identity id -:> int+ , holds n $ identity (+0) -:> int+ , holds n $ identity sort -:> [()]+ , holds n $ identity (not . not)+ , fails n $ identity not++ , holds n $ neverIdentity not+ , fails n $ neverIdentity abs -:> int+ , fails n $ neverIdentity negate -:> int+ ]++none :: (a -> Bool) -> [a] -> Bool+none p = not . or . map p
+ test/sdist view
@@ -0,0 +1,33 @@+#!/bin/bash+#+# test/sdist: tests the package generated by "cabal sdist".+#+# Copyright (c) 2015-2018 Rudy Matela.+# Distributed under the 3-Clause BSD licence.+export LC_ALL=C # consistent sort+pkgver=` cat *.cabal | grep "^version:" | sed -e "s/version: *//"`+pkgname=`cat *.cabal | grep "^name:" | sed -e "s/name: *//"`+pkg=$pkgname-$pkgver+set -x+cabal sdist &&+cd dist &&+tar -tf $pkg.tar.gz | sort --ignore-case > ls-cabal-i &&+tar -tf $pkg.tar.gz | sort --ignore-case --unique > ls-cabal-iu &&+diff -rud ls-cabal-i ls-cabal-iu &&+rm -f ls-cabal ls-cabal-ignore-case &&+if [ -d ../.git ]+then+ # on git repo, test if files are the same+ git -C .. ls-files | sort > ls-git &&+ tar -tf $pkg.tar.gz | grep -v "/$" | sed -e "s,$pkg/,," | sort > ls-cabal &&+ diff -rud ls-git ls-cabal &&+ rm -f ls-git ls-cabal+else+ # outside of git repo, test build+ rm -rf $pkg/ &&+ tar -xzf $pkg.tar.gz &&+ cd $pkg/ &&+ cabal configure --enable-tests --enable-benchmarks &&+ cabal build &&+ cabal test+fi
+ test/stats.hs view
@@ -0,0 +1,55 @@+-- Copyright (c) 2017-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test++import System.Exit (exitFailure)+import Data.List (elemIndices,sort)+import Test.LeanCheck+import Test.LeanCheck.Stats++import Data.List (isPrefixOf)+import Data.Function (on)++main :: IO ()+main = do+ putStrLn "sum :: [Int] -> Bool"+ classStats 100 (sum :: [Int] -> Int)++ putStrLn "length :: [Int] -> Int"+ classStats 100 (length :: [Int] -> Int)++ putStrLn "take 1 :: [Int] -> [Int]"+ classStats 100 (take 1 :: [Int] -> [Int])++ conditionStats 1000 [ ("odd", odd :: Int -> Bool)+ , ("even", even) ]++ conditionStats 1000 [ ("ordered",ordered :: [Int] -> Bool)+ , ("ordered . reverse", ordered . reverse) ]++ putStrLn "sum :: [Int] -> Bool"+ classStatsT 6 (sum :: [Int] -> Int)++ putStrLn "length :: [Int] -> Int"+ classStatsT 6 (length :: [Int] -> Int)++ putStrLn "take 1 :: [Int] -> [Int]"+ classStatsT 6 (take 1 :: [Int] -> [Int])+++ case elemIndices False (tests 100) of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests :: Int -> [Bool]+tests n =+ [ True++ , classify [1,2,3,4,1,2,3,1,2,1] == [[1,1,1,1],[2,2,2],[3,3],[4]]+ , classifyBy ((==) `on` odd) [1,2,3,4,1,2,3,1,2,1] == [[1,3,1,3,1,1],[2,4,2,2]]+ , classifyOn odd [1,2,3,4,1,2,3,1,2,1] == [[1,3,1,3,1,1],[2,4,2,2]]+ , counts [1,2,3,4,1,2,3,1,2,1] == [(1,4),(2,3),(3,2),(4,1)]+ , countsBy ((==) `on` odd) [1,2,3,4,1,2,3,1,2,1] == [(1,6),(2,4)]+ , countsOn odd [1,2,3,4,1,2,3,1,2,1::Int] == [(True,6),(False,4)]+ ]
+ test/tiers.hs view
@@ -0,0 +1,113 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test++import System.Exit (exitFailure)+import Data.List (elemIndices, sort, nub, delete)++import Test.LeanCheck+import Test.LeanCheck.Utils++import Test.LeanCheck.Tiers++main :: IO ()+main =+ case elemIndices False tests of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure++tests =+ [ True++ , checkNoDup 12+ , checkBags 18+ , checkSets 20+ , checkDistinctPairs 20+ , checkUnorderedPairs 20+ , checkUnorderedDistinctPairs 20+ , checkLengthListingsOfLength 5 5+ , checkSizesListingsOfLength 5 5++ , all (uncurry (/=)) . concat . take 100 $ distinctPairs (tiers :: [[Nat]])++ , productMaybeWith ($) [[const Nothing, Just]] [[1],[2],[3],[4]] == [[1],[2],[3],[4]]+ , productMaybeWith (flip ($))+ [[1],[2],[3],[4]]+ [[const Nothing],[Just]] == [[],[1],[2],[3],[4]]++ , holds 100 $ deleteT_is_map_delete 10 -:> nat+ , holds 100 $ deleteT_is_map_delete 10 -:> int+ , holds 100 $ deleteT_is_map_delete 10 -:> bool+ , holds 100 $ deleteT_is_map_delete 10 -:> int2++ , finite (tiers :: [[ Bool ]]) == True+ , finite (tiers :: [[ (Bool,Bool) ]]) == True+ , finite (tiers :: [[ Nat1 ]]) == True+ , finite (tiers :: [[ Nat2 ]]) == True+ , finite (tiers :: [[ Nat3 ]]) == True+ , finite (tiers :: [[ Nat4 ]]) == True+ , finite (tiers :: [[ Nat5 ]]) == True+ , finite (tiers :: [[ Nat6 ]]) == True+ , finite (tiers :: [[ Nat7 ]]) == True+ , finite (tiers :: [[ Word1 ]]) == True+ , finite (tiers :: [[ Word2 ]]) == True+ , finite (tiers :: [[ Word3 ]]) == True++ , finite (tiers :: [[ Nat ]]) == False+ , finite (tiers :: [[ Int ]]) == False+ , finite (tiers :: [[ [Int] ]]) == False+ , finite (tiers :: [[ [()] ]]) == False++ -- false negatives, more than 12 values:+ , finite (tiers :: [[ Word4 ]]) == False+ , finite (tiers :: [[ (Bool,Bool,Bool,Bool,Bool) ]]) == False+ , finite (tiers :: [[ (Bool,Bool,Bool,Bool,Bool,Bool) ]]) == False++ , holds 100 $ \xss -> ordered . concat $ discardLaterT (<) (xss::[[Int]])+ , holds 100 $ \xss -> ordered . concat $ discardLaterT (<=) (xss::[[Int]])+ , (length . concat $ discardLaterT (<=) [[1..100]]) == 100+ , (length . concat $ discardLaterT (<=) [[00..99],[100..199::Int]]) == 200+ , holds 100 $ \xss -> nub (concat xss) == concat (nubT xss :: [[Int]])+ ]++deleteT_is_map_delete :: (Eq a, Listable a) => Int -> a -> Bool+deleteT_is_map_delete n x = deleteT x tiers+ =| n |= normalizeT (map (delete x) tiers)++checkNoDup :: Int -> Bool+checkNoDup n = noDupListsOf (tiers :: [[Int]]) =| n |= tiers `suchThat` noDup+ where noDup xs = nub (sort xs) == sort xs++checkBags :: Int -> Bool+checkBags n = bagsOf (tiers :: [[Nat]]) =| n |= tiers `suchThat` ordered++checkSets :: Int -> Bool+checkSets n = setsOf (tiers :: [[Nat]]) =| n |= tiers `suchThat` strictlyOrdered++checkDistinctPairs :: Int -> Bool+checkDistinctPairs n =+ distinctPairs (tiers :: [[Nat]]) =| n |= tiers `suchThat` uncurry (/=)++checkUnorderedDistinctPairs :: Int -> Bool+checkUnorderedDistinctPairs n =+ unorderedDistinctPairs (tiers :: [[Nat]]) =| n |= tiers `suchThat` uncurry (<)++checkUnorderedPairs :: Int -> Bool+checkUnorderedPairs n =+ unorderedPairs (tiers :: [[Nat]]) =| n |= tiers `suchThat` uncurry (<=)++checkLengthListingsOfLength :: Int -> Int -> Bool+checkLengthListingsOfLength n m = all check [1..m]+ where check m = all (\xs -> length xs == m)+ $ concat . take n+ $ listsOfLength m natTiers++checkSizesListingsOfLength :: Int -> Int -> Bool+checkSizesListingsOfLength n m = all check [1..m]+ where check m = orderedBy compare+ $ map sum . concat . take n+ $ listsOfLength m natTiers++natTiers :: [[Nat]]+natTiers = tiers
+ test/types.hs view
@@ -0,0 +1,187 @@+-- Copyright (c) 2015-2018 Rudy Matela.+-- Distributed under the 3-Clause BSD licence (see the file LICENSE).+import Test+import System.Exit (exitFailure)+import Data.List (elemIndices,delete,isPrefixOf)+import Test.LeanCheck.Utils.Types+import Test.LeanCheck (list,fails)+import Data.Word+import Data.Int+import Data.Char hiding (Space)++main :: IO ()+main =+ case elemIndices False tests of+ [] -> putStrLn "Tests passed!"+ is -> do putStrLn ("Failed tests:" ++ show is)+ exitFailure+++-- | Given the number of bits, generates a range for signed/unsigned integers+-- of that width.+signedRange,unsignedRange :: (Num n) => Int -> [n]+signedRange n = map fromIntegral [-(2^(n-1))..(2^(n-1))-1]+unsignedRange n = map fromIntegral [0..(2^n)-1]+++tests =+ [ True++ , list `permutation` [minBound..maxBound :: Int1]+ , list `permutation` [minBound..maxBound :: Int2]+ , list `permutation` [minBound..maxBound :: Int3]+ , list `permutation` [minBound..maxBound :: Int4]++ , list `permutation` [minBound..maxBound :: UInt1]+ , list `permutation` [minBound..maxBound :: UInt2]+ , list `permutation` [minBound..maxBound :: UInt3]+ , list `permutation` [minBound..maxBound :: UInt4]++ , list `permutation` [minBound..maxBound :: Nat1]+ , list `permutation` [minBound..maxBound :: Nat2]+ , list `permutation` [minBound..maxBound :: Nat3]+ , list `permutation` [minBound..maxBound :: Nat4]+ , list `permutation` [minBound..maxBound :: Nat5]+ , list `permutation` [minBound..maxBound :: Nat6]+ , list `permutation` [minBound..maxBound :: Nat7]++ , map unX list `permutation` [minBound..maxBound :: Int8]+ , map unX list `permutation` [minBound..maxBound :: Int4]+ , map unX list `permutation` [minBound..maxBound :: Int3]+-- TODO: make the following commented tests pass:+--, map unX list `permutation` [minBound..maxBound :: Int2]+--, map unX list `permutation` [minBound..maxBound :: Int1]+ , map unX list `permutation` [minBound..maxBound :: Word8]+ , map unX list `permutation` [minBound..maxBound :: Word4]+ , map unX list `permutation` [minBound..maxBound :: Word3]+ , map unX list `permutation` [minBound..maxBound :: Word2]+ , map unX list `permutation` [minBound..maxBound :: Word1]+ , map unX list `permutation` [minBound..maxBound :: Nat7]+ , map unX list `permutation` [minBound..maxBound :: Nat6]+ , map unX list `permutation` [minBound..maxBound :: Nat5]+ , map unX list `permutation` [minBound..maxBound :: Nat4]+-- TODO: make the following commented tests pass:+--, map unX list `permutation` [minBound..maxBound :: Nat3]+--, map unX list `permutation` [minBound..maxBound :: Nat2]+--, map unX list `permutation` [minBound..maxBound :: Nat1]++ , (prefiX :: [Int8]) `isPrefixOf` map unX list+ , (prefiX :: [Int16]) `isPrefixOf` map unX list+ , (prefiX :: [Int32]) `isPrefixOf` map unX list+ , (prefiX :: [Int64]) `isPrefixOf` map unX list+ , (prefiX :: [Int]) `isPrefixOf` map unX list++ , (prefiXN :: [Word8]) `isPrefixOf` map unX list+ , (prefiXN :: [Word16]) `isPrefixOf` map unX list+ , (prefiXN :: [Word32]) `isPrefixOf` map unX list+ , (prefiXN :: [Word64]) `isPrefixOf` map unX list+ , (prefiXN :: [Word]) `isPrefixOf` map unX list++ , (prefiXs :: [[Int8]]) `isPrefixOf` map unXs list+ , (prefiXs :: [[Int16]]) `isPrefixOf` map unXs list+ , (prefiXs :: [[Int32]]) `isPrefixOf` map unXs list+ , (prefiXs :: [[Int64]]) `isPrefixOf` map unXs list+ , (prefiXs :: [[Int]]) `isPrefixOf` map unXs list++ , (prefiXNs :: [[Word8]]) `isPrefixOf` map unXs list+ , (prefiXNs :: [[Word16]]) `isPrefixOf` map unXs list+ , (prefiXNs :: [[Word32]]) `isPrefixOf` map unXs list+ , (prefiXNs :: [[Word64]]) `isPrefixOf` map unXs list+ , (prefiXNs :: [[Word]]) `isPrefixOf` map unXs list+++ , [minBound..maxBound :: Int1] == signedRange 1+ , [minBound..maxBound :: Int2] == signedRange 2+ , [minBound..maxBound :: Int3] == signedRange 3+ , [minBound..maxBound :: Int4] == signedRange 4++ , [minBound..maxBound :: UInt1] == unsignedRange 1+ , [minBound..maxBound :: UInt2] == unsignedRange 2+ , [minBound..maxBound :: UInt3] == unsignedRange 3+ , [minBound..maxBound :: UInt4] == unsignedRange 4+++ -- abs minBound == minBound+ , fails 100 (\i -> abs i > (0::Int1))+ , fails 100 (\i -> abs i > (0::Int2))+ , fails 100 (\i -> abs i > (0::Int3))+ , fails 100 (\i -> abs i > (0::Int4))++ -- maxBound + 1 == minBound+ , fails 100 (\i -> i + 1 < (i::Int1))+ , fails 100 (\i -> i + 1 < (i::Int2))+ , fails 100 (\i -> i + 1 < (i::Int3))+ , fails 100 (\i -> i + 1 < (i::Int4))++ , holds 100 (\(Nat n) -> n >= 0)+ , holds 100 (\(Natural n) -> n >= 0)++ , holds 100 $ \(Space c) -> isSpace c+ , holds 100 $ \(Lower c) -> isLower c+ , holds 100 $ \(Upper c) -> isUpper c+ , holds 100 $ \(Alpha c) -> isAlpha c+ , holds 100 $ \(Digit c) -> isDigit c+ , holds 100 $ \(AlphaNum c) -> isAlphaNum c+ , holds 100 $ \(Letter c) -> isLetter c++ , holds 100 $ \(Spaces s) -> all isSpace s+ , holds 100 $ \(Lowers s) -> all isLower s+ , holds 100 $ \(Uppers s) -> all isUpper s+ , holds 100 $ \(Alphas s) -> all isAlpha s+ , holds 100 $ \(Digits s) -> all isDigit s+ , holds 100 $ \(AlphaNums s) -> all isAlphaNum s+ , holds 100 $ \(Letters s) -> all isLetter s+ ]+ where+ unXs (Xs xs) = xs+++prefiX :: (Bounded a, Integral a) => [a]+prefiX =+ [ 0+ , 1, -1+ , maxBound, minBound+ , 2, -2+ , maxBound-1, minBound+1+ , 3, -3+ , maxBound-2, minBound+2+ ]++prefiXs :: (Bounded a, Integral a) => [[a]]+prefiXs =+ [ []+ , [0]+ , [0,0], [1]+ , [0,0,0], [0,1], [1,0], [-1]+ , [0,0,0,0], [0,0,1], [0,1,0], [0,-1], [1,0,0], [1,1], [-1,0], [maxBound]+ , [0,0,0,0,0], [0,0,0,1], [0,0,1,0], [0,0,-1]+ , [0,1,0,0], [0,1,1], [0,-1,0], [0,maxBound]+ , [1,0,0,0], [1,0,1], [1,1,0], [1,-1]+ , [-1,0,0], [-1,1], [maxBound,0], [minBound]+ ]++prefiXN :: (Bounded a, Integral a) => [a]+prefiXN =+ [ 0+ , 1, 2+ , maxBound+ , 3, 4+ , maxBound-1+ , 5, 6+ , maxBound-2+ ]++prefiXNs :: (Bounded a, Integral a) => [[a]]+prefiXNs =+ [ []+ , [0]+ , [0,0], [1]+ , [0,0,0], [0,1], [1,0], [2]+ , [0,0,0,0], [0,0,1], [0,1,0], [0,2], [1,0,0], [1,1], [2,0], [maxBound]+ ]++permutation :: Eq a => [a] -> [a] -> Bool+[] `permutation` [] = True+(_:_) `permutation` [] = False+[] `permutation` (_:_) = False+(x:xs) `permutation` ys = x `elem` ys && xs `permutation` delete x ys
− tests/Test.hs
@@ -1,143 +0,0 @@--- |--- Module : Test--- Copyright : (c) 2015-2018 Rudy Matela--- License : 3-Clause BSD (see the file LICENSE)--- Maintainer : Rudy Matela <rudy@matela.com.br>------ This module is part of LeanCheck,--- a simple enumerative property-based testing library.------ Some helper functios to test LeanCheck itself.-module Test- ( module Test.LeanCheck-- , tNatPairOrd- , tNatTripleOrd- , tNatQuadrupleOrd- , tNatQuintupleOrd- , tNatListOrd- , tListsOfNatOrd- , tPairEqParams- , tTripleEqParams- , tProductsIsFilterByLength-- , ordered- , orderedBy- , orderedOn- , strictlyOrdered- , strictlyOrderedBy- , strictlyOrderedOn- )-where--import Test.LeanCheck-import Data.List-import Data.Ord-import Test.LeanCheck.Utils.Types (Nat(..))---- | check if a list is ordered-ordered :: Ord a => [a] -> Bool-ordered = orderedBy compare--- ordered [] = True--- ordered [_] = True--- ordered (x:y:xs) = x <= y && ordered (y:xs)--strictlyOrdered :: Ord a => [a] -> Bool-strictlyOrdered = strictlyOrderedBy compare---- | check if a list is ordered by a given ordering function-orderedBy :: (a -> a -> Ordering) -> [a] -> Bool-orderedBy _ [] = True-orderedBy _ [_] = True-orderedBy cmp (x:y:xs) = case x `cmp` y of- GT -> False- _ -> orderedBy cmp (y:xs)--orderedOn :: Ord b => (a -> b) -> [a] -> Bool-orderedOn f = orderedBy (comparing f)---- | check if a list is strictly ordered by a given ordering function-strictlyOrderedBy :: (a -> a -> Ordering) -> [a] -> Bool-strictlyOrderedBy _ [] = True-strictlyOrderedBy _ [_] = True-strictlyOrderedBy cmp (x:y:xs) = case x `cmp` y of- LT -> strictlyOrderedBy cmp (y:xs)- _ -> False--strictlyOrderedOn :: Ord b => (a -> b) -> [a] -> Bool-strictlyOrderedOn f = strictlyOrderedBy (comparing f)--ifNotEq :: Ordering -> Ordering -> Ordering--- Could be implemented as: ifNotEq = mappend-ifNotEq EQ p = p-ifNotEq o _ = o--thn :: (a->a->Ordering) -> (a->a->Ordering) -> a -> a -> Ordering-thn cmp1 cmp2 x y = (x `cmp1` y) `ifNotEq` (x `cmp2` y)-infixr 9 `thn`----- | checks if the first 'n' elements on tiers are ordered by 'cmp'.------ > (n `seriesOrderedBy`) comparing (id :: Type)-tOrderedBy :: Listable a => Int -> (a -> a -> Ordering) -> Bool-tOrderedBy n cmp = orderedBy cmp $ take n list-infixr 9 `tOrderedBy`--tStrictlyOrderedBy :: Listable a => Int -> (a -> a -> Ordering) -> Bool-tStrictlyOrderedBy n cmp = strictlyOrderedBy cmp $ take n list-infixr 9 `tStrictlyOrderedBy`--tNatPairOrd :: Int -> Bool-tNatPairOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare- where sum' (x,y) = x+y :: Nat--tNatTripleOrd :: Int -> Bool-tNatTripleOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare- where sum' (x,y,z) = x+y+z :: Nat--tNatQuadrupleOrd :: Int -> Bool-tNatQuadrupleOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare- where sum' (x,y,z,w) = x+y+z+w :: Nat--tNatQuintupleOrd :: Int -> Bool-tNatQuintupleOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare- where sum' (x,y,z,w,v) = x+y+z+w+v :: Nat--tNatListOrd :: Int -> Bool-tNatListOrd n = n `tStrictlyOrderedBy` comparing sum' `thn` compare- where sum' = sum . map (+1) :: [Nat] -> Nat--tListsOfStrictlyOrderedBy :: Int- -> (a -> a -> Ordering)- -> [[a]]- -> Bool-tListsOfStrictlyOrderedBy n cmp = strictlyOrderedBy cmp . take n . concat-infixr 9 `tListsOfStrictlyOrderedBy`--tListsOfNatOrd :: Int -> Bool-tListsOfNatOrd n = tListsOfStrictlyOrderedBy n (comparing sum' `thn` compare) tiers- where sum' = sum . map (+1) :: [Nat] -> Nat--tPairEqParams :: Int -> Bool-tPairEqParams n = ces == srs- where- ces = map (map read) $ counterExamples n fail- srs = map pairToList $ take n list- pairToList (x,y) = [x,y :: Nat]- fail :: Nat -> Nat -> Bool- fail x y = False--tTripleEqParams :: Int -> Bool-tTripleEqParams n = ces == srs- where- ces = map (map read) $ counterExamples n fail- srs = map tripleToList $ take n list- tripleToList (x,y,z) = [x,y,z :: Nat]- fail :: Nat -> Nat -> Nat -> Bool- fail x y z = False--tProductsIsFilterByLength :: Eq a => [[a]] -> Int -> Int -> Bool-tProductsIsFilterByLength values m n = concat (take m byProduct) `isPrefixOf` concat byFilter- where byProduct = products $ replicate n values- byFilter = ((==n) . length) `filterT` listsOf values
− tests/diff/eg/higher-order.out
@@ -1,50 +0,0 @@-*** Failed! Falsifiable (after 75 tests):-\x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...-0-[0,0]--*** Failed! Falsifiable (after 130 tests):-\x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...-[0,0,0]--*** Failed! Falsifiable (after 36 tests):-\x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...-\x -> case x of- 0 -> True- 1 -> False- -1 -> False- 2 -> False- -2 -> False- 3 -> False- -3 -> False- 4 -> False- ...-[1]-
− tests/diff/eg/overflow.out
@@ -1,2 +0,0 @@-*** Failed! Falsifiable (after 8792 tests):-(T [] [] [] [-1] [-32768])
− tests/diff/eg/test-bool.out
@@ -1,29 +0,0 @@-not . not === id-+++ OK, passed 2 tests (exhausted).-(&&) commutes-+++ OK, passed 4 tests (exhausted).-(||) commutes-+++ OK, passed 4 tests (exhausted).--All boolean operators are commutative (wrong).-*** Failed! Falsifiable (after 10 tests):-\x y -> case (x,y) of- (False,False) -> False- (False,True) -> False- (True,False) -> True- (True,True) -> False-False-True---All boolean operators are associative (wrong).-*** Failed! Falsifiable (after 22 tests):-\x y -> case (x,y) of- (False,False) -> False- (False,True) -> False- (True,False) -> True- (True,True) -> False-True-False-True-
− tests/diff/eg/test-list.out
@@ -1,6 +0,0 @@-*** Failed! Falsifiable (after 4 tests):-[] [0,0]-*** Failed! Falsifiable (after 1 tests):-[]-*** Failed! Exception '...' (after 1 tests):-[]
− tests/diff/eg/test-sort.out
@@ -1,4 +0,0 @@-+++ OK, passed 200 tests.-*** Failed! Falsifiable (after 4 tests):-0 [0,0]-+++ OK, passed 200 tests.
− tests/diff/tiers-BagBool.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ Bag Bool ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ Bag Bool ]) = Infinity--allUnique (list :: [ Bag Bool ]) = True--ratioRepetitions (list :: [ Bag Bool ]) = 0 % 1--tiers :: [Bag Bool] =- [ [Bag []]- , [ Bag [False]- , Bag [True]- ]- , [ Bag [False,False]- , Bag [False,True]- , Bag [True,True]- ]- , [ Bag [False,False,False]- , Bag [False,False,True]- , Bag [False,True,True]- , Bag [True,True,True]- ]- , [ Bag [False,False,False,False]- , Bag [False,False,False,True]- , Bag [False,False,True,True]- , Bag [False,True,True,True]- , Bag [True,True,True,True]- ]- , [ Bag [False,False,False,False,False]- , Bag [False,False,False,False,True]- , Bag [False,False,False,True,True]- , Bag [False,False,True,True,True]- , Bag [False,True,True,True,True]- , Bag [True,True,True,True,True]- ]- , [ Bag [False,False,False,False,False,False]- , Bag [False,False,False,False,False,True]- , Bag [False,False,False,False,True,True]- , Bag [False,False,False,True,True,True]- , Bag [False,False,True,True,True,True]- , Bag [False,True,True,True,True,True]- , Bag [True,True,True,True,True,True]- ]- , [ Bag [False,False,False,False,False,False,False]- , Bag [False,False,False,False,False,False,True]- , Bag [False,False,False,False,False,True,True]- , Bag [False,False,False,False,True,True,True]- , Bag [False,False,False,True,True,True,True]- , Bag [False,False,True,True,True,True,True]- , Bag [False,True,True,True,True,True,True]- , Bag [True,True,True,True,True,True,True]- ]- , [ Bag [False,False,False,False,False,False,False,False]- , Bag [False,False,False,False,False,False,False,True]- , Bag [False,False,False,False,False,False,True,True]- , Bag [False,False,False,False,False,True,True,True]- , Bag [False,False,False,False,True,True,True,True]- , Bag [False,False,False,True,True,True,True,True]- , Bag [False,False,True,True,True,True,True,True]- , Bag [False,True,True,True,True,True,True,True]- , Bag [True,True,True,True,True,True,True,True]- ]- , [ Bag [False,False,False,False,False,False,False,False,False]- , Bag [False,False,False,False,False,False,False,False,True]- , Bag [False,False,False,False,False,False,False,True,True]- , Bag [False,False,False,False,False,False,True,True,True]- , Bag [False,False,False,False,False,True,True,True,True]- , Bag [False,False,False,False,True,True,True,True,True]- , Bag [False,False,False,True,True,True,True,True,True]- , Bag [False,False,True,True,True,True,True,True,True]- , Bag [False,True,True,True,True,True,True,True,True]- , Bag [True,True,True,True,True,True,True,True,True]- ]- , [ Bag [False,False,False,False,False,False,False,False,False,False]- , Bag [False,False,False,False,False,False,False,False,False,True]- , Bag [False,False,False,False,False,False,False,False,True,True]- , Bag [False,False,False,False,False,False,False,True,True,True]- , Bag [False,False,False,False,False,False,True,True,True,True]- , Bag [False,False,False,False,False,True,True,True,True,True]- , Bag [False,False,False,False,True,True,True,True,True,True]- , Bag [False,False,False,True,True,True,True,True,True,True]- , Bag [False,False,True,True,True,True,True,True,True,True]- , Bag [False,True,True,True,True,True,True,True,True,True]- , Bag [True,True,True,True,True,True,True,True,True,True]- ]- , [ Bag [False,False,False,False,False,False,False,False,False,False,False]- , Bag [False,False,False,False,False,False,False,False,False,False,True]- , Bag [False,False,False,False,False,False,False,False,False,True,True]- , Bag [False,False,False,False,False,False,False,False,True,True,True]- , Bag [False,False,False,False,False,False,False,True,True,True,True]- , Bag [False,False,False,False,False,False,True,True,True,True,True]- , Bag [False,False,False,False,False,True,True,True,True,True,True]- , Bag [False,False,False,False,True,True,True,True,True,True,True]- , Bag [False,False,False,True,True,True,True,True,True,True,True]- , Bag [False,False,True,True,True,True,True,True,True,True,True]- , Bag [False,True,True,True,True,True,True,True,True,True,True]- , Bag [True,True,True,True,True,True,True,True,True,True,True]- ]- , ...- ]
− tests/diff/tiers-BagNat.out
@@ -1,216 +0,0 @@-map length (tiers :: [[ Bag Nat ]]) = [1,1,2,3,5,7,11,15,22,30,42,56,...]--length (list :: [ Bag Nat ]) = Infinity--allUnique (list :: [ Bag Nat ]) = True--ratioRepetitions (list :: [ Bag Nat ]) = 0 % 1--tiers :: [Bag Nat] =- [ [Bag []]- , [Bag [0]]- , [ Bag [0,0]- , Bag [1]- ]- , [ Bag [0,0,0]- , Bag [0,1]- , Bag [2]- ]- , [ Bag [0,0,0,0]- , Bag [0,0,1]- , Bag [0,2]- , Bag [1,1]- , Bag [3]- ]- , [ Bag [0,0,0,0,0]- , Bag [0,0,0,1]- , Bag [0,0,2]- , Bag [0,1,1]- , Bag [0,3]- , Bag [1,2]- , Bag [4]- ]- , [ Bag [0,0,0,0,0,0]- , Bag [0,0,0,0,1]- , Bag [0,0,0,2]- , Bag [0,0,1,1]- , Bag [0,0,3]- , Bag [0,1,2]- , Bag [0,4]- , Bag [1,1,1]- , Bag [1,3]- , Bag [2,2]- , Bag [5]- ]- , [ Bag [0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,1]- , Bag [0,0,0,0,2]- , Bag [0,0,0,1,1]- , Bag [0,0,0,3]- , Bag [0,0,1,2]- , Bag [0,0,4]- , Bag [0,1,1,1]- , Bag [0,1,3]- , Bag [0,2,2]- , Bag [0,5]- , Bag [1,1,2]- , Bag [1,4]- , Bag [2,3]- , Bag [6]- ]- , [ Bag [0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,2]- , Bag [0,0,0,0,1,1]- , Bag [0,0,0,0,3]- , Bag [0,0,0,1,2]- , Bag [0,0,0,4]- , Bag [0,0,1,1,1]- , Bag [0,0,1,3]- , Bag [0,0,2,2]- , Bag [0,0,5]- , Bag [0,1,1,2]- , Bag [0,1,4]- , Bag [0,2,3]- , Bag [0,6]- , Bag [1,1,1,1]- , Bag [1,1,3]- , Bag [1,2,2]- , Bag [1,5]- , Bag [2,4]- , Bag [3,3]- , Bag [7]- ]- , [ Bag [0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,2]- , Bag [0,0,0,0,0,1,1]- , Bag [0,0,0,0,0,3]- , Bag [0,0,0,0,1,2]- , Bag [0,0,0,0,4]- , Bag [0,0,0,1,1,1]- , Bag [0,0,0,1,3]- , Bag [0,0,0,2,2]- , Bag [0,0,0,5]- , Bag [0,0,1,1,2]- , Bag [0,0,1,4]- , Bag [0,0,2,3]- , Bag [0,0,6]- , Bag [0,1,1,1,1]- , Bag [0,1,1,3]- , Bag [0,1,2,2]- , Bag [0,1,5]- , Bag [0,2,4]- , Bag [0,3,3]- , Bag [0,7]- , Bag [1,1,1,2]- , Bag [1,1,4]- , Bag [1,2,3]- , Bag [1,6]- , Bag [2,2,2]- , Bag [2,5]- , Bag [3,4]- , Bag [8]- ]- , [ Bag [0,0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,0,2]- , Bag [0,0,0,0,0,0,1,1]- , Bag [0,0,0,0,0,0,3]- , Bag [0,0,0,0,0,1,2]- , Bag [0,0,0,0,0,4]- , Bag [0,0,0,0,1,1,1]- , Bag [0,0,0,0,1,3]- , Bag [0,0,0,0,2,2]- , Bag [0,0,0,0,5]- , Bag [0,0,0,1,1,2]- , Bag [0,0,0,1,4]- , Bag [0,0,0,2,3]- , Bag [0,0,0,6]- , Bag [0,0,1,1,1,1]- , Bag [0,0,1,1,3]- , Bag [0,0,1,2,2]- , Bag [0,0,1,5]- , Bag [0,0,2,4]- , Bag [0,0,3,3]- , Bag [0,0,7]- , Bag [0,1,1,1,2]- , Bag [0,1,1,4]- , Bag [0,1,2,3]- , Bag [0,1,6]- , Bag [0,2,2,2]- , Bag [0,2,5]- , Bag [0,3,4]- , Bag [0,8]- , Bag [1,1,1,1,1]- , Bag [1,1,1,3]- , Bag [1,1,2,2]- , Bag [1,1,5]- , Bag [1,2,4]- , Bag [1,3,3]- , Bag [1,7]- , Bag [2,2,3]- , Bag [2,6]- , Bag [3,5]- , Bag [4,4]- , Bag [9]- ]- , [ Bag [0,0,0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,0,0,2]- , Bag [0,0,0,0,0,0,0,1,1]- , Bag [0,0,0,0,0,0,0,3]- , Bag [0,0,0,0,0,0,1,2]- , Bag [0,0,0,0,0,0,4]- , Bag [0,0,0,0,0,1,1,1]- , Bag [0,0,0,0,0,1,3]- , Bag [0,0,0,0,0,2,2]- , Bag [0,0,0,0,0,5]- , Bag [0,0,0,0,1,1,2]- , Bag [0,0,0,0,1,4]- , Bag [0,0,0,0,2,3]- , Bag [0,0,0,0,6]- , Bag [0,0,0,1,1,1,1]- , Bag [0,0,0,1,1,3]- , Bag [0,0,0,1,2,2]- , Bag [0,0,0,1,5]- , Bag [0,0,0,2,4]- , Bag [0,0,0,3,3]- , Bag [0,0,0,7]- , Bag [0,0,1,1,1,2]- , Bag [0,0,1,1,4]- , Bag [0,0,1,2,3]- , Bag [0,0,1,6]- , Bag [0,0,2,2,2]- , Bag [0,0,2,5]- , Bag [0,0,3,4]- , Bag [0,0,8]- , Bag [0,1,1,1,1,1]- , Bag [0,1,1,1,3]- , Bag [0,1,1,2,2]- , Bag [0,1,1,5]- , Bag [0,1,2,4]- , Bag [0,1,3,3]- , Bag [0,1,7]- , Bag [0,2,2,3]- , Bag [0,2,6]- , Bag [0,3,5]- , Bag [0,4,4]- , Bag [0,9]- , Bag [1,1,1,1,2]- , Bag [1,1,1,4]- , Bag [1,1,2,3]- , Bag [1,1,6]- , Bag [1,2,2,2]- , Bag [1,2,5]- , Bag [1,3,4]- , Bag [1,8]- , Bag [2,2,4]- , Bag [2,3,3]- , Bag [2,7]- , Bag [3,6]- , Bag [4,5]- , Bag [10]- ]- , ...- ]
− tests/diff/tiers-BagNat2.out
@@ -1,63 +0,0 @@-map length (tiers :: [[ Bag Nat2 ]]) = [1,1,2,2,3,3,4,4,5,5,6,6,...]--length (list :: [ Bag Nat2 ]) = Infinity--allUnique (list :: [ Bag Nat2 ]) = True--ratioRepetitions (list :: [ Bag Nat2 ]) = 0 % 1--tiers :: [Bag Nat2] =- [ [Bag []]- , [Bag [0]]- , [ Bag [0,0]- , Bag [1]- ]- , [ Bag [0,0,0]- , Bag [0,1]- ]- , [ Bag [0,0,0,0]- , Bag [0,0,1]- , Bag [1,1]- ]- , [ Bag [0,0,0,0,0]- , Bag [0,0,0,1]- , Bag [0,1,1]- ]- , [ Bag [0,0,0,0,0,0]- , Bag [0,0,0,0,1]- , Bag [0,0,1,1]- , Bag [1,1,1]- ]- , [ Bag [0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,1]- , Bag [0,0,0,1,1]- , Bag [0,1,1,1]- ]- , [ Bag [0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,1]- , Bag [0,0,0,0,1,1]- , Bag [0,0,1,1,1]- , Bag [1,1,1,1]- ]- , [ Bag [0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,1,1]- , Bag [0,0,0,1,1,1]- , Bag [0,1,1,1,1]- ]- , [ Bag [0,0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,1,1]- , Bag [0,0,0,0,1,1,1]- , Bag [0,0,1,1,1,1]- , Bag [1,1,1,1,1]- ]- , [ Bag [0,0,0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,0,1,1]- , Bag [0,0,0,0,0,1,1,1]- , Bag [0,0,0,1,1,1,1]- , Bag [0,1,1,1,1,1]- ]- , ...- ]
− tests/diff/tiers-BagNat3.out
@@ -1,104 +0,0 @@-map length (tiers :: [[ Bag Nat3 ]]) = [1,1,2,3,4,5,7,8,10,12,14,16,...]--length (list :: [ Bag Nat3 ]) = Infinity--allUnique (list :: [ Bag Nat3 ]) = True--ratioRepetitions (list :: [ Bag Nat3 ]) = 0 % 1--tiers :: [Bag Nat3] =- [ [Bag []]- , [Bag [0]]- , [ Bag [0,0]- , Bag [1]- ]- , [ Bag [0,0,0]- , Bag [0,1]- , Bag [2]- ]- , [ Bag [0,0,0,0]- , Bag [0,0,1]- , Bag [0,2]- , Bag [1,1]- ]- , [ Bag [0,0,0,0,0]- , Bag [0,0,0,1]- , Bag [0,0,2]- , Bag [0,1,1]- , Bag [1,2]- ]- , [ Bag [0,0,0,0,0,0]- , Bag [0,0,0,0,1]- , Bag [0,0,0,2]- , Bag [0,0,1,1]- , Bag [0,1,2]- , Bag [1,1,1]- , Bag [2,2]- ]- , [ Bag [0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,1]- , Bag [0,0,0,0,2]- , Bag [0,0,0,1,1]- , Bag [0,0,1,2]- , Bag [0,1,1,1]- , Bag [0,2,2]- , Bag [1,1,2]- ]- , [ Bag [0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,2]- , Bag [0,0,0,0,1,1]- , Bag [0,0,0,1,2]- , Bag [0,0,1,1,1]- , Bag [0,0,2,2]- , Bag [0,1,1,2]- , Bag [1,1,1,1]- , Bag [1,2,2]- ]- , [ Bag [0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,2]- , Bag [0,0,0,0,0,1,1]- , Bag [0,0,0,0,1,2]- , Bag [0,0,0,1,1,1]- , Bag [0,0,0,2,2]- , Bag [0,0,1,1,2]- , Bag [0,1,1,1,1]- , Bag [0,1,2,2]- , Bag [1,1,1,2]- , Bag [2,2,2]- ]- , [ Bag [0,0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,0,2]- , Bag [0,0,0,0,0,0,1,1]- , Bag [0,0,0,0,0,1,2]- , Bag [0,0,0,0,1,1,1]- , Bag [0,0,0,0,2,2]- , Bag [0,0,0,1,1,2]- , Bag [0,0,1,1,1,1]- , Bag [0,0,1,2,2]- , Bag [0,1,1,1,2]- , Bag [0,2,2,2]- , Bag [1,1,1,1,1]- , Bag [1,1,2,2]- ]- , [ Bag [0,0,0,0,0,0,0,0,0,0,0]- , Bag [0,0,0,0,0,0,0,0,0,1]- , Bag [0,0,0,0,0,0,0,0,2]- , Bag [0,0,0,0,0,0,0,1,1]- , Bag [0,0,0,0,0,0,1,2]- , Bag [0,0,0,0,0,1,1,1]- , Bag [0,0,0,0,0,2,2]- , Bag [0,0,0,0,1,1,2]- , Bag [0,0,0,1,1,1,1]- , Bag [0,0,0,1,2,2]- , Bag [0,0,1,1,1,2]- , Bag [0,0,2,2,2]- , Bag [0,1,1,1,1,1]- , Bag [0,1,1,2,2]- , Bag [1,1,1,1,2]- , Bag [1,2,2,2]- ]- , ...- ]
− tests/diff/tiers-BagU.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Bag () ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Bag () ]) = Infinity--allUnique (list :: [ Bag () ]) = True--ratioRepetitions (list :: [ Bag () ]) = 0 % 1--tiers :: [Bag ()] =- [ [Bag []]- , [Bag [()]]- , [Bag [(),()]]- , [Bag [(),(),()]]- , [Bag [(),(),(),()]]- , [Bag [(),(),(),(),()]]- , [Bag [(),(),(),(),(),()]]- , [Bag [(),(),(),(),(),(),()]]- , [Bag [(),(),(),(),(),(),(),()]]- , [Bag [(),(),(),(),(),(),(),(),()]]- , [Bag [(),(),(),(),(),(),(),(),(),()]]- , [Bag [(),(),(),(),(),(),(),(),(),(),()]]- , ...- ]
− tests/diff/tiers-Bool.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ Bool ]]) = [2]--length (list :: [ Bool ]) = 2--allUnique (list :: [ Bool ]) = True--ratioRepetitions (list :: [ Bool ]) = 0 % 1--tiers :: [Bool] =- [ [ False- , True- ]- ]
− tests/diff/tiers-Bools.out
@@ -1,79 +0,0 @@-map length (tiers :: [[ [Bool] ]]) = [1,2,4,8,16,32,...]--length (list :: [ [Bool] ]) = Infinity--allUnique (list :: [ [Bool] ]) = True--ratioRepetitions (list :: [ [Bool] ]) = 0 % 1--tiers :: [[Bool]] =- [ [[]]- , [ [False]- , [True]- ]- , [ [False,False]- , [False,True]- , [True,False]- , [True,True]- ]- , [ [False,False,False]- , [False,False,True]- , [False,True,False]- , [False,True,True]- , [True,False,False]- , [True,False,True]- , [True,True,False]- , [True,True,True]- ]- , [ [False,False,False,False]- , [False,False,False,True]- , [False,False,True,False]- , [False,False,True,True]- , [False,True,False,False]- , [False,True,False,True]- , [False,True,True,False]- , [False,True,True,True]- , [True,False,False,False]- , [True,False,False,True]- , [True,False,True,False]- , [True,False,True,True]- , [True,True,False,False]- , [True,True,False,True]- , [True,True,True,False]- , [True,True,True,True]- ]- , [ [False,False,False,False,False]- , [False,False,False,False,True]- , [False,False,False,True,False]- , [False,False,False,True,True]- , [False,False,True,False,False]- , [False,False,True,False,True]- , [False,False,True,True,False]- , [False,False,True,True,True]- , [False,True,False,False,False]- , [False,True,False,False,True]- , [False,True,False,True,False]- , [False,True,False,True,True]- , [False,True,True,False,False]- , [False,True,True,False,True]- , [False,True,True,True,False]- , [False,True,True,True,True]- , [True,False,False,False,False]- , [True,False,False,False,True]- , [True,False,False,True,False]- , [True,False,False,True,True]- , [True,False,True,False,False]- , [True,False,True,False,True]- , [True,False,True,True,False]- , [True,False,True,True,True]- , [True,True,False,False,False]- , [True,True,False,False,True]- , [True,True,False,True,False]- , [True,True,False,True,True]- , [True,True,True,False,False]- , [True,True,True,False,True]- , [True,True,True,True,False]- , [True,True,True,True,True]- ]- , ...- ]
− tests/diff/tiers-Char.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Char ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Char ]) = Infinity--allUnique (list :: [ Char ]) = True--ratioRepetitions (list :: [ Char ]) = 0 % 1--tiers :: [Char] =- [ ['a']- , [' ']- , ['b']- , ['A']- , ['c']- , ['\n']- , ['d']- , ['0']- , ['e']- , ['B']- , ['f']- , ['!']- , ...- ]
− tests/diff/tiers-Int,Int,Int.out
@@ -1,72 +0,0 @@-map length (tiers :: [[ (Int,Int,Int) ]]) = [1,3,6,10,15,21,...]--length (list :: [ (Int,Int,Int) ]) = Infinity--allUnique (list :: [ (Int,Int,Int) ]) = True--ratioRepetitions (list :: [ (Int,Int,Int) ]) = 0 % 1--tiers :: [(Int,Int,Int)] =- [ [(0,0,0)]- , [ (0,0,1)- , (0,1,0)- , (1,0,0)- ]- , [ (0,0,-1)- , (0,1,1)- , (0,-1,0)- , (1,0,1)- , (1,1,0)- , (-1,0,0)- ]- , [ (0,0,2)- , (0,1,-1)- , (0,-1,1)- , (0,2,0)- , (1,0,-1)- , (1,1,1)- , (1,-1,0)- , (-1,0,1)- , (-1,1,0)- , (2,0,0)- ]- , [ (0,0,-2)- , (0,1,2)- , (0,-1,-1)- , (0,2,1)- , (0,-2,0)- , (1,0,2)- , (1,1,-1)- , (1,-1,1)- , (1,2,0)- , (-1,0,-1)- , (-1,1,1)- , (-1,-1,0)- , (2,0,1)- , (2,1,0)- , (-2,0,0)- ]- , [ (0,0,3)- , (0,1,-2)- , (0,-1,2)- , (0,2,-1)- , (0,-2,1)- , (0,3,0)- , (1,0,-2)- , (1,1,2)- , (1,-1,-1)- , (1,2,1)- , (1,-2,0)- , (-1,0,2)- , (-1,1,-1)- , (-1,-1,1)- , (-1,2,0)- , (2,0,-1)- , (2,1,1)- , (2,-1,0)- , (-2,0,1)- , (-2,1,0)- , (3,0,0)- ]- , ...- ]
− tests/diff/tiers-Int,Int.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ (Int,Int) ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ (Int,Int) ]) = Infinity--allUnique (list :: [ (Int,Int) ]) = True--ratioRepetitions (list :: [ (Int,Int) ]) = 0 % 1--tiers :: [(Int,Int)] =- [ [(0,0)]- , [ (0,1)- , (1,0)- ]- , [ (0,-1)- , (1,1)- , (-1,0)- ]- , [ (0,2)- , (1,-1)- , (-1,1)- , (2,0)- ]- , [ (0,-2)- , (1,2)- , (-1,-1)- , (2,1)- , (-2,0)- ]- , [ (0,3)- , (1,-2)- , (-1,2)- , (2,-1)- , (-2,1)- , (3,0)- ]- , [ (0,-3)- , (1,3)- , (-1,-2)- , (2,2)- , (-2,-1)- , (3,1)- , (-3,0)- ]- , [ (0,4)- , (1,-3)- , (-1,3)- , (2,-2)- , (-2,2)- , (3,-1)- , (-3,1)- , (4,0)- ]- , [ (0,-4)- , (1,4)- , (-1,-3)- , (2,3)- , (-2,-2)- , (3,2)- , (-3,-1)- , (4,1)- , (-4,0)- ]- , [ (0,5)- , (1,-4)- , (-1,4)- , (2,-3)- , (-2,3)- , (3,-2)- , (-3,2)- , (4,-1)- , (-4,1)- , (5,0)- ]- , [ (0,-5)- , (1,5)- , (-1,-4)- , (2,4)- , (-2,-3)- , (3,3)- , (-3,-2)- , (4,2)- , (-4,-1)- , (5,1)- , (-5,0)- ]- , [ (0,6)- , (1,-5)- , (-1,5)- , (2,-4)- , (-2,4)- , (3,-3)- , (-3,3)- , (4,-2)- , (-4,2)- , (5,-1)- , (-5,1)- , (6,0)- ]- , ...- ]
− tests/diff/tiers-Int.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Int ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Int ]) = Infinity--allUnique (list :: [ Int ]) = True--ratioRepetitions (list :: [ Int ]) = 0 % 1--tiers :: [Int] =- [ [0]- , [1]- , [-1]- , [2]- , [-2]- , [3]- , [-3]- , [4]- , [-4]- , [5]- , [-5]- , [6]- , ...- ]
− tests/diff/tiers-Integer.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Integer ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Integer ]) = Infinity--allUnique (list :: [ Integer ]) = True--ratioRepetitions (list :: [ Integer ]) = 0 % 1--tiers :: [Integer] =- [ [0]- , [1]- , [-1]- , [2]- , [-2]- , [3]- , [-3]- , [4]- , [-4]- , [5]- , [-5]- , [6]- , ...- ]
− tests/diff/tiers-Ints.out
@@ -1,47 +0,0 @@-map length (tiers :: [[ [Int] ]]) = [1,1,2,4,8,16,...]--length (list :: [ [Int] ]) = Infinity--allUnique (list :: [ [Int] ]) = True--ratioRepetitions (list :: [ [Int] ]) = 0 % 1--tiers :: [[Int]] =- [ [[]]- , [[0]]- , [ [0,0]- , [1]- ]- , [ [0,0,0]- , [0,1]- , [1,0]- , [-1]- ]- , [ [0,0,0,0]- , [0,0,1]- , [0,1,0]- , [0,-1]- , [1,0,0]- , [1,1]- , [-1,0]- , [2]- ]- , [ [0,0,0,0,0]- , [0,0,0,1]- , [0,0,1,0]- , [0,0,-1]- , [0,1,0,0]- , [0,1,1]- , [0,-1,0]- , [0,2]- , [1,0,0,0]- , [1,0,1]- , [1,1,0]- , [1,-1]- , [-1,0,0]- , [-1,1]- , [2,0]- , [-2]- ]- , ...- ]
− tests/diff/tiers-MapBoolBool.out
@@ -1,21 +0,0 @@-map length (tiers :: [[ Map Bool Bool ]]) = [1,4,4]--length (list :: [ Map Bool Bool ]) = 9--allUnique (list :: [ Map Bool Bool ]) = True--ratioRepetitions (list :: [ Map Bool Bool ]) = 0 % 1--tiers :: [Map Bool Bool] =- [ [Map []]- , [ Map [(False,False)]- , Map [(False,True)]- , Map [(True,False)]- , Map [(True,True)]- ]- , [ Map [(False,False),(True,False)]- , Map [(False,False),(True,True)]- , Map [(False,True),(True,False)]- , Map [(False,True),(True,True)]- ]- ]
− tests/diff/tiers-MapNat2Nat2.out
@@ -1,22 +0,0 @@-map length (tiers :: [[ Map Nat2 Nat2 ]]) = [1,1,2,2,2,1]--length (list :: [ Map Nat2 Nat2 ]) = 9--allUnique (list :: [ Map Nat2 Nat2 ]) = True--ratioRepetitions (list :: [ Map Nat2 Nat2 ]) = 0 % 1--tiers :: [Map Nat2 Nat2] =- [ [Map []]- , [Map [(0,0)]]- , [ Map [(0,1)]- , Map [(1,0)]- ]- , [ Map [(1,1)]- , Map [(0,0),(1,0)]- ]- , [ Map [(0,0),(1,1)]- , Map [(0,1),(1,0)]- ]- , [Map [(0,1),(1,1)]]- ]
− tests/diff/tiers-MapNat3Nat3.out
@@ -1,84 +0,0 @@-map length (tiers :: [[ Map Nat3 Nat3 ]]) = [1,1,2,4,5,7,8,9,9,8,6,3,...]--length (list :: [ Map Nat3 Nat3 ]) = Infinity--allUnique (list :: [ Map Nat3 Nat3 ]) = True--ratioRepetitions (list :: [ Map Nat3 Nat3 ]) = 0 % 1--tiers :: [Map Nat3 Nat3] =- [ [Map []]- , [Map [(0,0)]]- , [ Map [(0,1)]- , Map [(1,0)]- ]- , [ Map [(0,2)]- , Map [(1,1)]- , Map [(0,0),(1,0)]- , Map [(2,0)]- ]- , [ Map [(1,2)]- , Map [(0,0),(1,1)]- , Map [(0,1),(1,0)]- , Map [(2,1)]- , Map [(0,0),(2,0)]- ]- , [ Map [(0,0),(1,2)]- , Map [(0,1),(1,1)]- , Map [(0,2),(1,0)]- , Map [(2,2)]- , Map [(0,0),(2,1)]- , Map [(0,1),(2,0)]- , Map [(1,0),(2,0)]- ]- , [ Map [(0,1),(1,2)]- , Map [(0,2),(1,1)]- , Map [(0,0),(2,2)]- , Map [(0,1),(2,1)]- , Map [(0,2),(2,0)]- , Map [(1,0),(2,1)]- , Map [(1,1),(2,0)]- , Map [(0,0),(1,0),(2,0)]- ]- , [ Map [(0,2),(1,2)]- , Map [(0,1),(2,2)]- , Map [(0,2),(2,1)]- , Map [(1,0),(2,2)]- , Map [(1,1),(2,1)]- , Map [(1,2),(2,0)]- , Map [(0,0),(1,0),(2,1)]- , Map [(0,0),(1,1),(2,0)]- , Map [(0,1),(1,0),(2,0)]- ]- , [ Map [(0,2),(2,2)]- , Map [(1,1),(2,2)]- , Map [(1,2),(2,1)]- , Map [(0,0),(1,0),(2,2)]- , Map [(0,0),(1,1),(2,1)]- , Map [(0,0),(1,2),(2,0)]- , Map [(0,1),(1,0),(2,1)]- , Map [(0,1),(1,1),(2,0)]- , Map [(0,2),(1,0),(2,0)]- ]- , [ Map [(1,2),(2,2)]- , Map [(0,0),(1,1),(2,2)]- , Map [(0,0),(1,2),(2,1)]- , Map [(0,1),(1,0),(2,2)]- , Map [(0,1),(1,1),(2,1)]- , Map [(0,1),(1,2),(2,0)]- , Map [(0,2),(1,0),(2,1)]- , Map [(0,2),(1,1),(2,0)]- ]- , [ Map [(0,0),(1,2),(2,2)]- , Map [(0,1),(1,1),(2,2)]- , Map [(0,1),(1,2),(2,1)]- , Map [(0,2),(1,0),(2,2)]- , Map [(0,2),(1,1),(2,1)]- , Map [(0,2),(1,2),(2,0)]- ]- , [ Map [(0,1),(1,2),(2,2)]- , Map [(0,2),(1,1),(2,2)]- , Map [(0,2),(1,2),(2,1)]- ]- , ...- ]
− tests/diff/tiers-MapNatNat.out
@@ -1,571 +0,0 @@-map length (tiers :: [[ Map Nat Nat ]]) = [1,1,2,4,7,12,20,33,53,84,131,202,...]--length (list :: [ Map Nat Nat ]) = Infinity--allUnique (list :: [ Map Nat Nat ]) = True--ratioRepetitions (list :: [ Map Nat Nat ]) = 0 % 1--tiers :: [Map Nat Nat] =- [ [Map []]- , [Map [(0,0)]]- , [ Map [(0,1)]- , Map [(1,0)]- ]- , [ Map [(0,2)]- , Map [(1,1)]- , Map [(0,0),(1,0)]- , Map [(2,0)]- ]- , [ Map [(0,3)]- , Map [(1,2)]- , Map [(0,0),(1,1)]- , Map [(0,1),(1,0)]- , Map [(2,1)]- , Map [(0,0),(2,0)]- , Map [(3,0)]- ]- , [ Map [(0,4)]- , Map [(1,3)]- , Map [(0,0),(1,2)]- , Map [(0,1),(1,1)]- , Map [(0,2),(1,0)]- , Map [(2,2)]- , Map [(0,0),(2,1)]- , Map [(0,1),(2,0)]- , Map [(3,1)]- , Map [(0,0),(3,0)]- , Map [(1,0),(2,0)]- , Map [(4,0)]- ]- , [ Map [(0,5)]- , Map [(1,4)]- , Map [(0,0),(1,3)]- , Map [(0,1),(1,2)]- , Map [(0,2),(1,1)]- , Map [(0,3),(1,0)]- , Map [(2,3)]- , Map [(0,0),(2,2)]- , Map [(0,1),(2,1)]- , Map [(0,2),(2,0)]- , Map [(3,2)]- , Map [(0,0),(3,1)]- , Map [(0,1),(3,0)]- , Map [(1,0),(2,1)]- , Map [(1,1),(2,0)]- , Map [(4,1)]- , Map [(0,0),(1,0),(2,0)]- , Map [(0,0),(4,0)]- , Map [(1,0),(3,0)]- , Map [(5,0)]- ]- , [ Map [(0,6)]- , Map [(1,5)]- , Map [(0,0),(1,4)]- , Map [(0,1),(1,3)]- , Map [(0,2),(1,2)]- , Map [(0,3),(1,1)]- , Map [(0,4),(1,0)]- , Map [(2,4)]- , Map [(0,0),(2,3)]- , Map [(0,1),(2,2)]- , Map [(0,2),(2,1)]- , Map [(0,3),(2,0)]- , Map [(3,3)]- , Map [(0,0),(3,2)]- , Map [(0,1),(3,1)]- , Map [(0,2),(3,0)]- , Map [(1,0),(2,2)]- , Map [(1,1),(2,1)]- , Map [(1,2),(2,0)]- , Map [(4,2)]- , Map [(0,0),(1,0),(2,1)]- , Map [(0,0),(1,1),(2,0)]- , Map [(0,1),(1,0),(2,0)]- , Map [(0,0),(4,1)]- , Map [(0,1),(4,0)]- , Map [(1,0),(3,1)]- , Map [(1,1),(3,0)]- , Map [(5,1)]- , Map [(0,0),(1,0),(3,0)]- , Map [(0,0),(5,0)]- , Map [(1,0),(4,0)]- , Map [(2,0),(3,0)]- , Map [(6,0)]- ]- , [ Map [(0,7)]- , Map [(1,6)]- , Map [(0,0),(1,5)]- , Map [(0,1),(1,4)]- , Map [(0,2),(1,3)]- , Map [(0,3),(1,2)]- , Map [(0,4),(1,1)]- , Map [(0,5),(1,0)]- , Map [(2,5)]- , Map [(0,0),(2,4)]- , Map [(0,1),(2,3)]- , Map [(0,2),(2,2)]- , Map [(0,3),(2,1)]- , Map [(0,4),(2,0)]- , Map [(3,4)]- , Map [(0,0),(3,3)]- , Map [(0,1),(3,2)]- , Map [(0,2),(3,1)]- , Map [(0,3),(3,0)]- , Map [(1,0),(2,3)]- , Map [(1,1),(2,2)]- , Map [(1,2),(2,1)]- , Map [(1,3),(2,0)]- , Map [(4,3)]- , Map [(0,0),(1,0),(2,2)]- , Map [(0,0),(1,1),(2,1)]- , Map [(0,0),(1,2),(2,0)]- , Map [(0,1),(1,0),(2,1)]- , Map [(0,1),(1,1),(2,0)]- , Map [(0,2),(1,0),(2,0)]- , Map [(0,0),(4,2)]- , Map [(0,1),(4,1)]- , Map [(0,2),(4,0)]- , Map [(1,0),(3,2)]- , Map [(1,1),(3,1)]- , Map [(1,2),(3,0)]- , Map [(5,2)]- , Map [(0,0),(1,0),(3,1)]- , Map [(0,0),(1,1),(3,0)]- , Map [(0,1),(1,0),(3,0)]- , Map [(0,0),(5,1)]- , Map [(0,1),(5,0)]- , Map [(1,0),(4,1)]- , Map [(1,1),(4,0)]- , Map [(2,0),(3,1)]- , Map [(2,1),(3,0)]- , Map [(6,1)]- , Map [(0,0),(1,0),(4,0)]- , Map [(0,0),(2,0),(3,0)]- , Map [(0,0),(6,0)]- , Map [(1,0),(5,0)]- , Map [(2,0),(4,0)]- , Map [(7,0)]- ]- , [ Map [(0,8)]- , Map [(1,7)]- , Map [(0,0),(1,6)]- , Map [(0,1),(1,5)]- , Map [(0,2),(1,4)]- , Map [(0,3),(1,3)]- , Map [(0,4),(1,2)]- , Map [(0,5),(1,1)]- , Map [(0,6),(1,0)]- , Map [(2,6)]- , Map [(0,0),(2,5)]- , Map [(0,1),(2,4)]- , Map [(0,2),(2,3)]- , Map [(0,3),(2,2)]- , Map [(0,4),(2,1)]- , Map [(0,5),(2,0)]- , Map [(3,5)]- , Map [(0,0),(3,4)]- , Map [(0,1),(3,3)]- , Map [(0,2),(3,2)]- , Map [(0,3),(3,1)]- , Map [(0,4),(3,0)]- , Map [(1,0),(2,4)]- , Map [(1,1),(2,3)]- , Map [(1,2),(2,2)]- , Map [(1,3),(2,1)]- , Map [(1,4),(2,0)]- , Map [(4,4)]- , Map [(0,0),(1,0),(2,3)]- , Map [(0,0),(1,1),(2,2)]- , Map [(0,0),(1,2),(2,1)]- , Map [(0,0),(1,3),(2,0)]- , Map [(0,1),(1,0),(2,2)]- , Map [(0,1),(1,1),(2,1)]- , Map [(0,1),(1,2),(2,0)]- , Map [(0,2),(1,0),(2,1)]- , Map [(0,2),(1,1),(2,0)]- , Map [(0,3),(1,0),(2,0)]- , Map [(0,0),(4,3)]- , Map [(0,1),(4,2)]- , Map [(0,2),(4,1)]- , Map [(0,3),(4,0)]- , Map [(1,0),(3,3)]- , Map [(1,1),(3,2)]- , Map [(1,2),(3,1)]- , Map [(1,3),(3,0)]- , Map [(5,3)]- , Map [(0,0),(1,0),(3,2)]- , Map [(0,0),(1,1),(3,1)]- , Map [(0,0),(1,2),(3,0)]- , Map [(0,1),(1,0),(3,1)]- , Map [(0,1),(1,1),(3,0)]- , Map [(0,2),(1,0),(3,0)]- , Map [(0,0),(5,2)]- , Map [(0,1),(5,1)]- , Map [(0,2),(5,0)]- , Map [(1,0),(4,2)]- , Map [(1,1),(4,1)]- , Map [(1,2),(4,0)]- , Map [(2,0),(3,2)]- , Map [(2,1),(3,1)]- , Map [(2,2),(3,0)]- , Map [(6,2)]- , Map [(0,0),(1,0),(4,1)]- , Map [(0,0),(1,1),(4,0)]- , Map [(0,1),(1,0),(4,0)]- , Map [(0,0),(2,0),(3,1)]- , Map [(0,0),(2,1),(3,0)]- , Map [(0,1),(2,0),(3,0)]- , Map [(0,0),(6,1)]- , Map [(0,1),(6,0)]- , Map [(1,0),(5,1)]- , Map [(1,1),(5,0)]- , Map [(2,0),(4,1)]- , Map [(2,1),(4,0)]- , Map [(7,1)]- , Map [(0,0),(1,0),(5,0)]- , Map [(0,0),(2,0),(4,0)]- , Map [(0,0),(7,0)]- , Map [(1,0),(2,0),(3,0)]- , Map [(1,0),(6,0)]- , Map [(2,0),(5,0)]- , Map [(3,0),(4,0)]- , Map [(8,0)]- ]- , [ Map [(0,9)]- , Map [(1,8)]- , Map [(0,0),(1,7)]- , Map [(0,1),(1,6)]- , Map [(0,2),(1,5)]- , Map [(0,3),(1,4)]- , Map [(0,4),(1,3)]- , Map [(0,5),(1,2)]- , Map [(0,6),(1,1)]- , Map [(0,7),(1,0)]- , Map [(2,7)]- , Map [(0,0),(2,6)]- , Map [(0,1),(2,5)]- , Map [(0,2),(2,4)]- , Map [(0,3),(2,3)]- , Map [(0,4),(2,2)]- , Map [(0,5),(2,1)]- , Map [(0,6),(2,0)]- , Map [(3,6)]- , Map [(0,0),(3,5)]- , Map [(0,1),(3,4)]- , Map [(0,2),(3,3)]- , Map [(0,3),(3,2)]- , Map [(0,4),(3,1)]- , Map [(0,5),(3,0)]- , Map [(1,0),(2,5)]- , Map [(1,1),(2,4)]- , Map [(1,2),(2,3)]- , Map [(1,3),(2,2)]- , Map [(1,4),(2,1)]- , Map [(1,5),(2,0)]- , Map [(4,5)]- , Map [(0,0),(1,0),(2,4)]- , Map [(0,0),(1,1),(2,3)]- , Map [(0,0),(1,2),(2,2)]- , Map [(0,0),(1,3),(2,1)]- , Map [(0,0),(1,4),(2,0)]- , Map [(0,1),(1,0),(2,3)]- , Map [(0,1),(1,1),(2,2)]- , Map [(0,1),(1,2),(2,1)]- , Map [(0,1),(1,3),(2,0)]- , Map [(0,2),(1,0),(2,2)]- , Map [(0,2),(1,1),(2,1)]- , Map [(0,2),(1,2),(2,0)]- , Map [(0,3),(1,0),(2,1)]- , Map [(0,3),(1,1),(2,0)]- , Map [(0,4),(1,0),(2,0)]- , Map [(0,0),(4,4)]- , Map [(0,1),(4,3)]- , Map [(0,2),(4,2)]- , Map [(0,3),(4,1)]- , Map [(0,4),(4,0)]- , Map [(1,0),(3,4)]- , Map [(1,1),(3,3)]- , Map [(1,2),(3,2)]- , Map [(1,3),(3,1)]- , Map [(1,4),(3,0)]- , Map [(5,4)]- , Map [(0,0),(1,0),(3,3)]- , Map [(0,0),(1,1),(3,2)]- , Map [(0,0),(1,2),(3,1)]- , Map [(0,0),(1,3),(3,0)]- , Map [(0,1),(1,0),(3,2)]- , Map [(0,1),(1,1),(3,1)]- , Map [(0,1),(1,2),(3,0)]- , Map [(0,2),(1,0),(3,1)]- , Map [(0,2),(1,1),(3,0)]- , Map [(0,3),(1,0),(3,0)]- , Map [(0,0),(5,3)]- , Map [(0,1),(5,2)]- , Map [(0,2),(5,1)]- , Map [(0,3),(5,0)]- , Map [(1,0),(4,3)]- , Map [(1,1),(4,2)]- , Map [(1,2),(4,1)]- , Map [(1,3),(4,0)]- , Map [(2,0),(3,3)]- , Map [(2,1),(3,2)]- , Map [(2,2),(3,1)]- , Map [(2,3),(3,0)]- , Map [(6,3)]- , Map [(0,0),(1,0),(4,2)]- , Map [(0,0),(1,1),(4,1)]- , Map [(0,0),(1,2),(4,0)]- , Map [(0,1),(1,0),(4,1)]- , Map [(0,1),(1,1),(4,0)]- , Map [(0,2),(1,0),(4,0)]- , Map [(0,0),(2,0),(3,2)]- , Map [(0,0),(2,1),(3,1)]- , Map [(0,0),(2,2),(3,0)]- , Map [(0,1),(2,0),(3,1)]- , Map [(0,1),(2,1),(3,0)]- , Map [(0,2),(2,0),(3,0)]- , Map [(0,0),(6,2)]- , Map [(0,1),(6,1)]- , Map [(0,2),(6,0)]- , Map [(1,0),(5,2)]- , Map [(1,1),(5,1)]- , Map [(1,2),(5,0)]- , Map [(2,0),(4,2)]- , Map [(2,1),(4,1)]- , Map [(2,2),(4,0)]- , Map [(7,2)]- , Map [(0,0),(1,0),(5,1)]- , Map [(0,0),(1,1),(5,0)]- , Map [(0,1),(1,0),(5,0)]- , Map [(0,0),(2,0),(4,1)]- , Map [(0,0),(2,1),(4,0)]- , Map [(0,1),(2,0),(4,0)]- , Map [(0,0),(7,1)]- , Map [(0,1),(7,0)]- , Map [(1,0),(2,0),(3,1)]- , Map [(1,0),(2,1),(3,0)]- , Map [(1,1),(2,0),(3,0)]- , Map [(1,0),(6,1)]- , Map [(1,1),(6,0)]- , Map [(2,0),(5,1)]- , Map [(2,1),(5,0)]- , Map [(3,0),(4,1)]- , Map [(3,1),(4,0)]- , Map [(8,1)]- , Map [(0,0),(1,0),(2,0),(3,0)]- , Map [(0,0),(1,0),(6,0)]- , Map [(0,0),(2,0),(5,0)]- , Map [(0,0),(3,0),(4,0)]- , Map [(0,0),(8,0)]- , Map [(1,0),(2,0),(4,0)]- , Map [(1,0),(7,0)]- , Map [(2,0),(6,0)]- , Map [(3,0),(5,0)]- , Map [(9,0)]- ]- , [ Map [(0,10)]- , Map [(1,9)]- , Map [(0,0),(1,8)]- , Map [(0,1),(1,7)]- , Map [(0,2),(1,6)]- , Map [(0,3),(1,5)]- , Map [(0,4),(1,4)]- , Map [(0,5),(1,3)]- , Map [(0,6),(1,2)]- , Map [(0,7),(1,1)]- , Map [(0,8),(1,0)]- , Map [(2,8)]- , Map [(0,0),(2,7)]- , Map [(0,1),(2,6)]- , Map [(0,2),(2,5)]- , Map [(0,3),(2,4)]- , Map [(0,4),(2,3)]- , Map [(0,5),(2,2)]- , Map [(0,6),(2,1)]- , Map [(0,7),(2,0)]- , Map [(3,7)]- , Map [(0,0),(3,6)]- , Map [(0,1),(3,5)]- , Map [(0,2),(3,4)]- , Map [(0,3),(3,3)]- , Map [(0,4),(3,2)]- , Map [(0,5),(3,1)]- , Map [(0,6),(3,0)]- , Map [(1,0),(2,6)]- , Map [(1,1),(2,5)]- , Map [(1,2),(2,4)]- , Map [(1,3),(2,3)]- , Map [(1,4),(2,2)]- , Map [(1,5),(2,1)]- , Map [(1,6),(2,0)]- , Map [(4,6)]- , Map [(0,0),(1,0),(2,5)]- , Map [(0,0),(1,1),(2,4)]- , Map [(0,0),(1,2),(2,3)]- , Map [(0,0),(1,3),(2,2)]- , Map [(0,0),(1,4),(2,1)]- , Map [(0,0),(1,5),(2,0)]- , Map [(0,1),(1,0),(2,4)]- , Map [(0,1),(1,1),(2,3)]- , Map [(0,1),(1,2),(2,2)]- , Map [(0,1),(1,3),(2,1)]- , Map [(0,1),(1,4),(2,0)]- , Map [(0,2),(1,0),(2,3)]- , Map [(0,2),(1,1),(2,2)]- , Map [(0,2),(1,2),(2,1)]- , Map [(0,2),(1,3),(2,0)]- , Map [(0,3),(1,0),(2,2)]- , Map [(0,3),(1,1),(2,1)]- , Map [(0,3),(1,2),(2,0)]- , Map [(0,4),(1,0),(2,1)]- , Map [(0,4),(1,1),(2,0)]- , Map [(0,5),(1,0),(2,0)]- , Map [(0,0),(4,5)]- , Map [(0,1),(4,4)]- , Map [(0,2),(4,3)]- , Map [(0,3),(4,2)]- , Map [(0,4),(4,1)]- , Map [(0,5),(4,0)]- , Map [(1,0),(3,5)]- , Map [(1,1),(3,4)]- , Map [(1,2),(3,3)]- , Map [(1,3),(3,2)]- , Map [(1,4),(3,1)]- , Map [(1,5),(3,0)]- , Map [(5,5)]- , Map [(0,0),(1,0),(3,4)]- , Map [(0,0),(1,1),(3,3)]- , Map [(0,0),(1,2),(3,2)]- , Map [(0,0),(1,3),(3,1)]- , Map [(0,0),(1,4),(3,0)]- , Map [(0,1),(1,0),(3,3)]- , Map [(0,1),(1,1),(3,2)]- , Map [(0,1),(1,2),(3,1)]- , Map [(0,1),(1,3),(3,0)]- , Map [(0,2),(1,0),(3,2)]- , Map [(0,2),(1,1),(3,1)]- , Map [(0,2),(1,2),(3,0)]- , Map [(0,3),(1,0),(3,1)]- , Map [(0,3),(1,1),(3,0)]- , Map [(0,4),(1,0),(3,0)]- , Map [(0,0),(5,4)]- , Map [(0,1),(5,3)]- , Map [(0,2),(5,2)]- , Map [(0,3),(5,1)]- , Map [(0,4),(5,0)]- , Map [(1,0),(4,4)]- , Map [(1,1),(4,3)]- , Map [(1,2),(4,2)]- , Map [(1,3),(4,1)]- , Map [(1,4),(4,0)]- , Map [(2,0),(3,4)]- , Map [(2,1),(3,3)]- , Map [(2,2),(3,2)]- , Map [(2,3),(3,1)]- , Map [(2,4),(3,0)]- , Map [(6,4)]- , Map [(0,0),(1,0),(4,3)]- , Map [(0,0),(1,1),(4,2)]- , Map [(0,0),(1,2),(4,1)]- , Map [(0,0),(1,3),(4,0)]- , Map [(0,1),(1,0),(4,2)]- , Map [(0,1),(1,1),(4,1)]- , Map [(0,1),(1,2),(4,0)]- , Map [(0,2),(1,0),(4,1)]- , Map [(0,2),(1,1),(4,0)]- , Map [(0,3),(1,0),(4,0)]- , Map [(0,0),(2,0),(3,3)]- , Map [(0,0),(2,1),(3,2)]- , Map [(0,0),(2,2),(3,1)]- , Map [(0,0),(2,3),(3,0)]- , Map [(0,1),(2,0),(3,2)]- , Map [(0,1),(2,1),(3,1)]- , Map [(0,1),(2,2),(3,0)]- , Map [(0,2),(2,0),(3,1)]- , Map [(0,2),(2,1),(3,0)]- , Map [(0,3),(2,0),(3,0)]- , Map [(0,0),(6,3)]- , Map [(0,1),(6,2)]- , Map [(0,2),(6,1)]- , Map [(0,3),(6,0)]- , Map [(1,0),(5,3)]- , Map [(1,1),(5,2)]- , Map [(1,2),(5,1)]- , Map [(1,3),(5,0)]- , Map [(2,0),(4,3)]- , Map [(2,1),(4,2)]- , Map [(2,2),(4,1)]- , Map [(2,3),(4,0)]- , Map [(7,3)]- , Map [(0,0),(1,0),(5,2)]- , Map [(0,0),(1,1),(5,1)]- , Map [(0,0),(1,2),(5,0)]- , Map [(0,1),(1,0),(5,1)]- , Map [(0,1),(1,1),(5,0)]- , Map [(0,2),(1,0),(5,0)]- , Map [(0,0),(2,0),(4,2)]- , Map [(0,0),(2,1),(4,1)]- , Map [(0,0),(2,2),(4,0)]- , Map [(0,1),(2,0),(4,1)]- , Map [(0,1),(2,1),(4,0)]- , Map [(0,2),(2,0),(4,0)]- , Map [(0,0),(7,2)]- , Map [(0,1),(7,1)]- , Map [(0,2),(7,0)]- , Map [(1,0),(2,0),(3,2)]- , Map [(1,0),(2,1),(3,1)]- , Map [(1,0),(2,2),(3,0)]- , Map [(1,1),(2,0),(3,1)]- , Map [(1,1),(2,1),(3,0)]- , Map [(1,2),(2,0),(3,0)]- , Map [(1,0),(6,2)]- , Map [(1,1),(6,1)]- , Map [(1,2),(6,0)]- , Map [(2,0),(5,2)]- , Map [(2,1),(5,1)]- , Map [(2,2),(5,0)]- , Map [(3,0),(4,2)]- , Map [(3,1),(4,1)]- , Map [(3,2),(4,0)]- , Map [(8,2)]- , Map [(0,0),(1,0),(2,0),(3,1)]- , Map [(0,0),(1,0),(2,1),(3,0)]- , Map [(0,0),(1,1),(2,0),(3,0)]- , Map [(0,1),(1,0),(2,0),(3,0)]- , Map [(0,0),(1,0),(6,1)]- , Map [(0,0),(1,1),(6,0)]- , Map [(0,1),(1,0),(6,0)]- , Map [(0,0),(2,0),(5,1)]- , Map [(0,0),(2,1),(5,0)]- , Map [(0,1),(2,0),(5,0)]- , Map [(0,0),(3,0),(4,1)]- , Map [(0,0),(3,1),(4,0)]- , Map [(0,1),(3,0),(4,0)]- , Map [(0,0),(8,1)]- , Map [(0,1),(8,0)]- , Map [(1,0),(2,0),(4,1)]- , Map [(1,0),(2,1),(4,0)]- , Map [(1,1),(2,0),(4,0)]- , Map [(1,0),(7,1)]- , Map [(1,1),(7,0)]- , Map [(2,0),(6,1)]- , Map [(2,1),(6,0)]- , Map [(3,0),(5,1)]- , Map [(3,1),(5,0)]- , Map [(9,1)]- , Map [(0,0),(1,0),(2,0),(4,0)]- , Map [(0,0),(1,0),(7,0)]- , Map [(0,0),(2,0),(6,0)]- , Map [(0,0),(3,0),(5,0)]- , Map [(0,0),(9,0)]- , Map [(1,0),(2,0),(5,0)]- , Map [(1,0),(3,0),(4,0)]- , Map [(1,0),(8,0)]- , Map [(2,0),(7,0)]- , Map [(3,0),(6,0)]- , Map [(4,0),(5,0)]- , Map [(10,0)]- ]- , ...- ]
− tests/diff/tiers-MapUU.out
@@ -1,12 +0,0 @@-map length (tiers :: [[ Map () () ]]) = [1,1]--length (list :: [ Map () () ]) = 2--allUnique (list :: [ Map () () ]) = True--ratioRepetitions (list :: [ Map () () ]) = 0 % 1--tiers :: [Map () ()] =- [ [Map []]- , [Map [((),())]]- ]
− tests/diff/tiers-Nat,Nat,Nat.out
@@ -1,72 +0,0 @@-map length (tiers :: [[ (Nat,Nat,Nat) ]]) = [1,3,6,10,15,21,...]--length (list :: [ (Nat,Nat,Nat) ]) = Infinity--allUnique (list :: [ (Nat,Nat,Nat) ]) = True--ratioRepetitions (list :: [ (Nat,Nat,Nat) ]) = 0 % 1--tiers :: [(Nat,Nat,Nat)] =- [ [(0,0,0)]- , [ (0,0,1)- , (0,1,0)- , (1,0,0)- ]- , [ (0,0,2)- , (0,1,1)- , (0,2,0)- , (1,0,1)- , (1,1,0)- , (2,0,0)- ]- , [ (0,0,3)- , (0,1,2)- , (0,2,1)- , (0,3,0)- , (1,0,2)- , (1,1,1)- , (1,2,0)- , (2,0,1)- , (2,1,0)- , (3,0,0)- ]- , [ (0,0,4)- , (0,1,3)- , (0,2,2)- , (0,3,1)- , (0,4,0)- , (1,0,3)- , (1,1,2)- , (1,2,1)- , (1,3,0)- , (2,0,2)- , (2,1,1)- , (2,2,0)- , (3,0,1)- , (3,1,0)- , (4,0,0)- ]- , [ (0,0,5)- , (0,1,4)- , (0,2,3)- , (0,3,2)- , (0,4,1)- , (0,5,0)- , (1,0,4)- , (1,1,3)- , (1,2,2)- , (1,3,1)- , (1,4,0)- , (2,0,3)- , (2,1,2)- , (2,2,1)- , (2,3,0)- , (3,0,2)- , (3,1,1)- , (3,2,0)- , (4,0,1)- , (4,1,0)- , (5,0,0)- ]- , ...- ]
− tests/diff/tiers-Nat,Nat.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ (Nat,Nat) ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ (Nat,Nat) ]) = Infinity--allUnique (list :: [ (Nat,Nat) ]) = True--ratioRepetitions (list :: [ (Nat,Nat) ]) = 0 % 1--tiers :: [(Nat,Nat)] =- [ [(0,0)]- , [ (0,1)- , (1,0)- ]- , [ (0,2)- , (1,1)- , (2,0)- ]- , [ (0,3)- , (1,2)- , (2,1)- , (3,0)- ]- , [ (0,4)- , (1,3)- , (2,2)- , (3,1)- , (4,0)- ]- , [ (0,5)- , (1,4)- , (2,3)- , (3,2)- , (4,1)- , (5,0)- ]- , [ (0,6)- , (1,5)- , (2,4)- , (3,3)- , (4,2)- , (5,1)- , (6,0)- ]- , [ (0,7)- , (1,6)- , (2,5)- , (3,4)- , (4,3)- , (5,2)- , (6,1)- , (7,0)- ]- , [ (0,8)- , (1,7)- , (2,6)- , (3,5)- , (4,4)- , (5,3)- , (6,2)- , (7,1)- , (8,0)- ]- , [ (0,9)- , (1,8)- , (2,7)- , (3,6)- , (4,5)- , (5,4)- , (6,3)- , (7,2)- , (8,1)- , (9,0)- ]- , [ (0,10)- , (1,9)- , (2,8)- , (3,7)- , (4,6)- , (5,5)- , (6,4)- , (7,3)- , (8,2)- , (9,1)- , (10,0)- ]- , [ (0,11)- , (1,10)- , (2,9)- , (3,8)- , (4,7)- , (5,6)- , (6,5)- , (7,4)- , (8,3)- , (9,2)- , (10,1)- , (11,0)- ]- , ...- ]
− tests/diff/tiers-Nat.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Nat ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ Nat ]) = Infinity--allUnique (list :: [ Nat ]) = True--ratioRepetitions (list :: [ Nat ]) = 0 % 1--tiers :: [Nat] =- [ [0]- , [1]- , [2]- , [3]- , [4]- , [5]- , [6]- , [7]- , [8]- , [9]- , [10]- , [11]- , ...- ]
− tests/diff/tiers-Nats.out
@@ -1,47 +0,0 @@-map length (tiers :: [[ [Nat] ]]) = [1,1,2,4,8,16,...]--length (list :: [ [Nat] ]) = Infinity--allUnique (list :: [ [Nat] ]) = True--ratioRepetitions (list :: [ [Nat] ]) = 0 % 1--tiers :: [[Nat]] =- [ [[]]- , [[0]]- , [ [0,0]- , [1]- ]- , [ [0,0,0]- , [0,1]- , [1,0]- , [2]- ]- , [ [0,0,0,0]- , [0,0,1]- , [0,1,0]- , [0,2]- , [1,0,0]- , [1,1]- , [2,0]- , [3]- ]- , [ [0,0,0,0,0]- , [0,0,0,1]- , [0,0,1,0]- , [0,0,2]- , [0,1,0,0]- , [0,1,1]- , [0,2,0]- , [0,3]- , [1,0,0,0]- , [1,0,1]- , [1,1,0]- , [1,2]- , [2,0,0]- , [2,1]- , [3,0]- , [4]- ]- , ...- ]
− tests/diff/tiers-NoDupBool.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ NoDup Bool ]]) = [1,2,2]--length (list :: [ NoDup Bool ]) = 5--allUnique (list :: [ NoDup Bool ]) = True--ratioRepetitions (list :: [ NoDup Bool ]) = 0 % 1--tiers :: [NoDup Bool] =- [ [NoDup []]- , [ NoDup [False]- , NoDup [True]- ]- , [ NoDup [False,True]- , NoDup [True,False]- ]- ]
− tests/diff/tiers-NoDupNat.out
@@ -1,226 +0,0 @@-map length (tiers :: [[ NoDup Nat ]]) = [1,1,1,3,3,5,11,13,19,27,57,65,...]--length (list :: [ NoDup Nat ]) = Infinity--allUnique (list :: [ NoDup Nat ]) = True--ratioRepetitions (list :: [ NoDup Nat ]) = 0 % 1--tiers :: [NoDup Nat] =- [ [NoDup []]- , [NoDup [0]]- , [NoDup [1]]- , [ NoDup [0,1]- , NoDup [1,0]- , NoDup [2]- ]- , [ NoDup [0,2]- , NoDup [2,0]- , NoDup [3]- ]- , [ NoDup [0,3]- , NoDup [1,2]- , NoDup [2,1]- , NoDup [3,0]- , NoDup [4]- ]- , [ NoDup [0,1,2]- , NoDup [0,2,1]- , NoDup [0,4]- , NoDup [1,0,2]- , NoDup [1,2,0]- , NoDup [1,3]- , NoDup [2,0,1]- , NoDup [2,1,0]- , NoDup [3,1]- , NoDup [4,0]- , NoDup [5]- ]- , [ NoDup [0,1,3]- , NoDup [0,3,1]- , NoDup [0,5]- , NoDup [1,0,3]- , NoDup [1,3,0]- , NoDup [1,4]- , NoDup [2,3]- , NoDup [3,0,1]- , NoDup [3,1,0]- , NoDup [3,2]- , NoDup [4,1]- , NoDup [5,0]- , NoDup [6]- ]- , [ NoDup [0,1,4]- , NoDup [0,2,3]- , NoDup [0,3,2]- , NoDup [0,4,1]- , NoDup [0,6]- , NoDup [1,0,4]- , NoDup [1,4,0]- , NoDup [1,5]- , NoDup [2,0,3]- , NoDup [2,3,0]- , NoDup [2,4]- , NoDup [3,0,2]- , NoDup [3,2,0]- , NoDup [4,0,1]- , NoDup [4,1,0]- , NoDup [4,2]- , NoDup [5,1]- , NoDup [6,0]- , NoDup [7]- ]- , [ NoDup [0,1,5]- , NoDup [0,2,4]- , NoDup [0,4,2]- , NoDup [0,5,1]- , NoDup [0,7]- , NoDup [1,0,5]- , NoDup [1,2,3]- , NoDup [1,3,2]- , NoDup [1,5,0]- , NoDup [1,6]- , NoDup [2,0,4]- , NoDup [2,1,3]- , NoDup [2,3,1]- , NoDup [2,4,0]- , NoDup [2,5]- , NoDup [3,1,2]- , NoDup [3,2,1]- , NoDup [3,4]- , NoDup [4,0,2]- , NoDup [4,2,0]- , NoDup [4,3]- , NoDup [5,0,1]- , NoDup [5,1,0]- , NoDup [5,2]- , NoDup [6,1]- , NoDup [7,0]- , NoDup [8]- ]- , [ NoDup [0,1,2,3]- , NoDup [0,1,3,2]- , NoDup [0,1,6]- , NoDup [0,2,1,3]- , NoDup [0,2,3,1]- , NoDup [0,2,5]- , NoDup [0,3,1,2]- , NoDup [0,3,2,1]- , NoDup [0,3,4]- , NoDup [0,4,3]- , NoDup [0,5,2]- , NoDup [0,6,1]- , NoDup [0,8]- , NoDup [1,0,2,3]- , NoDup [1,0,3,2]- , NoDup [1,0,6]- , NoDup [1,2,0,3]- , NoDup [1,2,3,0]- , NoDup [1,2,4]- , NoDup [1,3,0,2]- , NoDup [1,3,2,0]- , NoDup [1,4,2]- , NoDup [1,6,0]- , NoDup [1,7]- , NoDup [2,0,1,3]- , NoDup [2,0,3,1]- , NoDup [2,0,5]- , NoDup [2,1,0,3]- , NoDup [2,1,3,0]- , NoDup [2,1,4]- , NoDup [2,3,0,1]- , NoDup [2,3,1,0]- , NoDup [2,4,1]- , NoDup [2,5,0]- , NoDup [2,6]- , NoDup [3,0,1,2]- , NoDup [3,0,2,1]- , NoDup [3,0,4]- , NoDup [3,1,0,2]- , NoDup [3,1,2,0]- , NoDup [3,2,0,1]- , NoDup [3,2,1,0]- , NoDup [3,4,0]- , NoDup [3,5]- , NoDup [4,0,3]- , NoDup [4,1,2]- , NoDup [4,2,1]- , NoDup [4,3,0]- , NoDup [5,0,2]- , NoDup [5,2,0]- , NoDup [5,3]- , NoDup [6,0,1]- , NoDup [6,1,0]- , NoDup [6,2]- , NoDup [7,1]- , NoDup [8,0]- , NoDup [9]- ]- , [ NoDup [0,1,2,4]- , NoDup [0,1,4,2]- , NoDup [0,1,7]- , NoDup [0,2,1,4]- , NoDup [0,2,4,1]- , NoDup [0,2,6]- , NoDup [0,3,5]- , NoDup [0,4,1,2]- , NoDup [0,4,2,1]- , NoDup [0,5,3]- , NoDup [0,6,2]- , NoDup [0,7,1]- , NoDup [0,9]- , NoDup [1,0,2,4]- , NoDup [1,0,4,2]- , NoDup [1,0,7]- , NoDup [1,2,0,4]- , NoDup [1,2,4,0]- , NoDup [1,2,5]- , NoDup [1,3,4]- , NoDup [1,4,0,2]- , NoDup [1,4,2,0]- , NoDup [1,4,3]- , NoDup [1,5,2]- , NoDup [1,7,0]- , NoDup [1,8]- , NoDup [2,0,1,4]- , NoDup [2,0,4,1]- , NoDup [2,0,6]- , NoDup [2,1,0,4]- , NoDup [2,1,4,0]- , NoDup [2,1,5]- , NoDup [2,4,0,1]- , NoDup [2,4,1,0]- , NoDup [2,5,1]- , NoDup [2,6,0]- , NoDup [2,7]- , NoDup [3,0,5]- , NoDup [3,1,4]- , NoDup [3,4,1]- , NoDup [3,5,0]- , NoDup [3,6]- , NoDup [4,0,1,2]- , NoDup [4,0,2,1]- , NoDup [4,1,0,2]- , NoDup [4,1,2,0]- , NoDup [4,1,3]- , NoDup [4,2,0,1]- , NoDup [4,2,1,0]- , NoDup [4,3,1]- , NoDup [4,5]- , NoDup [5,0,3]- , NoDup [5,1,2]- , NoDup [5,2,1]- , NoDup [5,3,0]- , NoDup [5,4]- , NoDup [6,0,2]- , NoDup [6,2,0]- , NoDup [6,3]- , NoDup [7,0,1]- , NoDup [7,1,0]- , NoDup [7,2]- , NoDup [8,1]- , NoDup [9,0]- , NoDup [10]- ]- , ...- ]
− tests/diff/tiers-NoDupNat2.out
@@ -1,16 +0,0 @@-map length (tiers :: [[ NoDup Nat2 ]]) = [1,1,1,2]--length (list :: [ NoDup Nat2 ]) = 5--allUnique (list :: [ NoDup Nat2 ]) = True--ratioRepetitions (list :: [ NoDup Nat2 ]) = 0 % 1--tiers :: [NoDup Nat2] =- [ [NoDup []]- , [NoDup [0]]- , [NoDup [1]]- , [ NoDup [0,1]- , NoDup [1,0]- ]- ]
− tests/diff/tiers-NoDupNat3.out
@@ -1,30 +0,0 @@-map length (tiers :: [[ NoDup Nat3 ]]) = [1,1,1,3,2,2,6]--length (list :: [ NoDup Nat3 ]) = Infinity--allUnique (list :: [ NoDup Nat3 ]) = True--ratioRepetitions (list :: [ NoDup Nat3 ]) = 0 % 1--tiers :: [NoDup Nat3] =- [ [NoDup []]- , [NoDup [0]]- , [NoDup [1]]- , [ NoDup [0,1]- , NoDup [1,0]- , NoDup [2]- ]- , [ NoDup [0,2]- , NoDup [2,0]- ]- , [ NoDup [1,2]- , NoDup [2,1]- ]- , [ NoDup [0,1,2]- , NoDup [0,2,1]- , NoDup [1,0,2]- , NoDup [1,2,0]- , NoDup [2,0,1]- , NoDup [2,1,0]- ]- ]
− tests/diff/tiers-NoDupU.out
@@ -1,12 +0,0 @@-map length (tiers :: [[ NoDup () ]]) = [1,1]--length (list :: [ NoDup () ]) = 2--allUnique (list :: [ NoDup () ]) = True--ratioRepetitions (list :: [ NoDup () ]) = 0 % 1--tiers :: [NoDup ()] =- [ [NoDup []]- , [NoDup [()]]- ]
− tests/diff/tiers-SetBool.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ Set Bool ]]) = [1,2,1]--length (list :: [ Set Bool ]) = 4--allUnique (list :: [ Set Bool ]) = True--ratioRepetitions (list :: [ Set Bool ]) = 0 % 1--tiers :: [Set Bool] =- [ [Set []]- , [ Set [False]- , Set [True]- ]- , [Set [False,True]]- ]
− tests/diff/tiers-SetNat.out
@@ -1,75 +0,0 @@-map length (tiers :: [[ Set Nat ]]) = [1,1,1,2,2,3,4,5,6,8,10,12,...]--length (list :: [ Set Nat ]) = Infinity--allUnique (list :: [ Set Nat ]) = True--ratioRepetitions (list :: [ Set Nat ]) = 0 % 1--tiers :: [Set Nat] =- [ [Set []]- , [Set [0]]- , [Set [1]]- , [ Set [0,1]- , Set [2]- ]- , [ Set [0,2]- , Set [3]- ]- , [ Set [0,3]- , Set [1,2]- , Set [4]- ]- , [ Set [0,1,2]- , Set [0,4]- , Set [1,3]- , Set [5]- ]- , [ Set [0,1,3]- , Set [0,5]- , Set [1,4]- , Set [2,3]- , Set [6]- ]- , [ Set [0,1,4]- , Set [0,2,3]- , Set [0,6]- , Set [1,5]- , Set [2,4]- , Set [7]- ]- , [ Set [0,1,5]- , Set [0,2,4]- , Set [0,7]- , Set [1,2,3]- , Set [1,6]- , Set [2,5]- , Set [3,4]- , Set [8]- ]- , [ Set [0,1,2,3]- , Set [0,1,6]- , Set [0,2,5]- , Set [0,3,4]- , Set [0,8]- , Set [1,2,4]- , Set [1,7]- , Set [2,6]- , Set [3,5]- , Set [9]- ]- , [ Set [0,1,2,4]- , Set [0,1,7]- , Set [0,2,6]- , Set [0,3,5]- , Set [0,9]- , Set [1,2,5]- , Set [1,3,4]- , Set [1,8]- , Set [2,7]- , Set [3,6]- , Set [4,5]- , Set [10]- ]- , ...- ]
− tests/diff/tiers-SetNat2.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Set Nat2 ]]) = [1,1,1,1]--length (list :: [ Set Nat2 ]) = 4--allUnique (list :: [ Set Nat2 ]) = True--ratioRepetitions (list :: [ Set Nat2 ]) = 0 % 1--tiers :: [Set Nat2] =- [ [Set []]- , [Set [0]]- , [Set [1]]- , [Set [0,1]]- ]
− tests/diff/tiers-SetNat3.out
@@ -1,19 +0,0 @@-map length (tiers :: [[ Set Nat3 ]]) = [1,1,1,2,1,1,1]--length (list :: [ Set Nat3 ]) = 8--allUnique (list :: [ Set Nat3 ]) = True--ratioRepetitions (list :: [ Set Nat3 ]) = 0 % 1--tiers :: [Set Nat3] =- [ [Set []]- , [Set [0]]- , [Set [1]]- , [ Set [0,1]- , Set [2]- ]- , [Set [0,2]]- , [Set [1,2]]- , [Set [0,1,2]]- ]
− tests/diff/tiers-SetU.out
@@ -1,12 +0,0 @@-map length (tiers :: [[ Set () ]]) = [1,1]--length (list :: [ Set () ]) = 2--allUnique (list :: [ Set () ]) = True--ratioRepetitions (list :: [ Set () ]) = 0 % 1--tiers :: [Set ()] =- [ [Set []]- , [Set [()]]- ]
− tests/diff/tiers-String.out
@@ -1,47 +0,0 @@-map length (tiers :: [[ String ]]) = [1,1,2,4,8,16,...]--length (list :: [ String ]) = Infinity--allUnique (list :: [ String ]) = True--ratioRepetitions (list :: [ String ]) = 0 % 1--tiers :: [String] =- [ [""]- , ["a"]- , [ "aa"- , " "- ]- , [ "aaa"- , "a "- , " a"- , "b"- ]- , [ "aaaa"- , "aa "- , "a a"- , "ab"- , " aa"- , " "- , "ba"- , "A"- ]- , [ "aaaaa"- , "aaa "- , "aa a"- , "aab"- , "a aa"- , "a "- , "aba"- , "aA"- , " aaa"- , " a "- , " a"- , " b"- , "baa"- , "b "- , "Aa"- , "c"- ]- , ...- ]
− tests/diff/tiers-U,Us.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ [((),())] ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ [((),())] ]) = Infinity--allUnique (list :: [ [((),())] ]) = True--ratioRepetitions (list :: [ [((),())] ]) = 0 % 1--tiers :: [[((),())]] =- [ [[]]- , [[((),())]]- , [[((),()),((),())]]- , [[((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),()),((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]- , [[((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),()),((),())]]- , ...- ]
− tests/diff/tiers-Us,Us.out
@@ -1,100 +0,0 @@-map length (tiers :: [[ ([()],[()]) ]]) = [1,2,3,4,5,6,7,8,9,10,11,12,...]--length (list :: [ ([()],[()]) ]) = Infinity--allUnique (list :: [ ([()],[()]) ]) = True--ratioRepetitions (list :: [ ([()],[()]) ]) = 0 % 1--tiers :: [([()],[()])] =- [ [([],[])]- , [ ([],[()])- , ([()],[])- ]- , [ ([],[(),()])- , ([()],[()])- , ([(),()],[])- ]- , [ ([],[(),(),()])- , ([()],[(),()])- , ([(),()],[()])- , ([(),(),()],[])- ]- , [ ([],[(),(),(),()])- , ([()],[(),(),()])- , ([(),()],[(),()])- , ([(),(),()],[()])- , ([(),(),(),()],[])- ]- , [ ([],[(),(),(),(),()])- , ([()],[(),(),(),()])- , ([(),()],[(),(),()])- , ([(),(),()],[(),()])- , ([(),(),(),()],[()])- , ([(),(),(),(),()],[])- ]- , [ ([],[(),(),(),(),(),()])- , ([()],[(),(),(),(),()])- , ([(),()],[(),(),(),()])- , ([(),(),()],[(),(),()])- , ([(),(),(),()],[(),()])- , ([(),(),(),(),()],[()])- , ([(),(),(),(),(),()],[])- ]- , [ ([],[(),(),(),(),(),(),()])- , ([()],[(),(),(),(),(),()])- , ([(),()],[(),(),(),(),()])- , ([(),(),()],[(),(),(),()])- , ([(),(),(),()],[(),(),()])- , ([(),(),(),(),()],[(),()])- , ([(),(),(),(),(),()],[()])- , ([(),(),(),(),(),(),()],[])- ]- , [ ([],[(),(),(),(),(),(),(),()])- , ([()],[(),(),(),(),(),(),()])- , ([(),()],[(),(),(),(),(),()])- , ([(),(),()],[(),(),(),(),()])- , ([(),(),(),()],[(),(),(),()])- , ([(),(),(),(),()],[(),(),()])- , ([(),(),(),(),(),()],[(),()])- , ([(),(),(),(),(),(),()],[()])- , ([(),(),(),(),(),(),(),()],[])- ]- , [ ([],[(),(),(),(),(),(),(),(),()])- , ([()],[(),(),(),(),(),(),(),()])- , ([(),()],[(),(),(),(),(),(),()])- , ([(),(),()],[(),(),(),(),(),()])- , ([(),(),(),()],[(),(),(),(),()])- , ([(),(),(),(),()],[(),(),(),()])- , ([(),(),(),(),(),()],[(),(),()])- , ([(),(),(),(),(),(),()],[(),()])- , ([(),(),(),(),(),(),(),()],[()])- , ([(),(),(),(),(),(),(),(),()],[])- ]- , [ ([],[(),(),(),(),(),(),(),(),(),()])- , ([()],[(),(),(),(),(),(),(),(),()])- , ([(),()],[(),(),(),(),(),(),(),()])- , ([(),(),()],[(),(),(),(),(),(),()])- , ([(),(),(),()],[(),(),(),(),(),()])- , ([(),(),(),(),()],[(),(),(),(),()])- , ([(),(),(),(),(),()],[(),(),(),()])- , ([(),(),(),(),(),(),()],[(),(),()])- , ([(),(),(),(),(),(),(),()],[(),()])- , ([(),(),(),(),(),(),(),(),()],[()])- , ([(),(),(),(),(),(),(),(),(),()],[])- ]- , [ ([],[(),(),(),(),(),(),(),(),(),(),()])- , ([()],[(),(),(),(),(),(),(),(),(),()])- , ([(),()],[(),(),(),(),(),(),(),(),()])- , ([(),(),()],[(),(),(),(),(),(),(),()])- , ([(),(),(),()],[(),(),(),(),(),(),()])- , ([(),(),(),(),()],[(),(),(),(),(),()])- , ([(),(),(),(),(),()],[(),(),(),(),()])- , ([(),(),(),(),(),(),()],[(),(),(),()])- , ([(),(),(),(),(),(),(),()],[(),(),()])- , ([(),(),(),(),(),(),(),(),()],[(),()])- , ([(),(),(),(),(),(),(),(),(),()],[()])- , ([(),(),(),(),(),(),(),(),(),(),()],[])- ]- , ...- ]
− tests/diff/tiers-Us.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ [()] ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ [()] ]) = Infinity--allUnique (list :: [ [()] ]) = True--ratioRepetitions (list :: [ [()] ]) = 0 % 1--tiers :: [[()]] =- [ [[]]- , [[()]]- , [[(),()]]- , [[(),(),()]]- , [[(),(),(),()]]- , [[(),(),(),(),()]]- , [[(),(),(),(),(),()]]- , [[(),(),(),(),(),(),()]]- , [[(),(),(),(),(),(),(),()]]- , [[(),(),(),(),(),(),(),(),()]]- , [[(),(),(),(),(),(),(),(),(),()]]- , [[(),(),(),(),(),(),(),(),(),(),()]]- , ...- ]
− tests/diff/tiers-XInt4.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ X Int4 ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ X Int4 ]) = Infinity--allUnique (list :: [ X Int4 ]) = True--ratioRepetitions (list :: [ X Int4 ]) = 0 % 1--tiers :: [X Int4] =- [ [0]- , [1]- , [-1]- , [7]- , [-8]- , [2]- , [-2]- , [6]- , [-7]- , [3]- , [-3]- , [5]- , ...- ]
− tests/diff/tiers-XNat7.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ X Nat7 ]]) = [1,1,1,1,1,1,1]--length (list :: [ X Nat7 ]) = 7--allUnique (list :: [ X Nat7 ]) = True--ratioRepetitions (list :: [ X Nat7 ]) = 0 % 1--tiers :: [X Nat7] =- [ [0]- , [1]- , [2]- , [6]- , [3]- , [4]- , [5]- ]
− tests/diff/tiers-XWord4.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ X Word4 ]]) = [1,1,1,1,1,1,1,1,1,1,1,1,...]--length (list :: [ X Word4 ]) = Infinity--allUnique (list :: [ X Word4 ]) = True--ratioRepetitions (list :: [ X Word4 ]) = 0 % 1--tiers :: [X Word4] =- [ [0]- , [1]- , [2]- , [15]- , [3]- , [4]- , [14]- , [5]- , [6]- , [13]- , [7]- , [8]- , ...- ]
− tests/diff/tiers-XsInt4.out
@@ -1,1045 +0,0 @@-map length (tiers :: [[ Xs Int4 ]]) = [0,1,1,2,4,8,16,32,64,128,256,512,...]--length (list :: [ Xs Int4 ]) = Infinity--allUnique (list :: [ Xs Int4 ]) = True--ratioRepetitions (list :: [ Xs Int4 ]) = 0 % 1--tiers :: [Xs Int4] =- [ []- , [Xs []]- , [Xs [0]]- , [ Xs [0,0]- , Xs [1]- ]- , [ Xs [0,0,0]- , Xs [0,1]- , Xs [1,0]- , Xs [-1]- ]- , [ Xs [0,0,0,0]- , Xs [0,0,1]- , Xs [0,1,0]- , Xs [0,-1]- , Xs [1,0,0]- , Xs [1,1]- , Xs [-1,0]- , Xs [7]- ]- , [ Xs [0,0,0,0,0]- , Xs [0,0,0,1]- , Xs [0,0,1,0]- , Xs [0,0,-1]- , Xs [0,1,0,0]- , Xs [0,1,1]- , Xs [0,-1,0]- , Xs [0,7]- , Xs [1,0,0,0]- , Xs [1,0,1]- , Xs [1,1,0]- , Xs [1,-1]- , Xs [-1,0,0]- , Xs [-1,1]- , Xs [7,0]- , Xs [-8]- ]- , [ Xs [0,0,0,0,0,0]- , Xs [0,0,0,0,1]- , Xs [0,0,0,1,0]- , Xs [0,0,0,-1]- , Xs [0,0,1,0,0]- , Xs [0,0,1,1]- , Xs [0,0,-1,0]- , Xs [0,0,7]- , Xs [0,1,0,0,0]- , Xs [0,1,0,1]- , Xs [0,1,1,0]- , Xs [0,1,-1]- , Xs [0,-1,0,0]- , Xs [0,-1,1]- , Xs [0,7,0]- , Xs [0,-8]- , Xs [1,0,0,0,0]- , Xs [1,0,0,1]- , Xs [1,0,1,0]- , Xs [1,0,-1]- , Xs [1,1,0,0]- , Xs [1,1,1]- , Xs [1,-1,0]- , Xs [1,7]- , Xs [-1,0,0,0]- , Xs [-1,0,1]- , Xs [-1,1,0]- , Xs [-1,-1]- , Xs [7,0,0]- , Xs [7,1]- , Xs [-8,0]- , Xs [2]- ]- , [ Xs [0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,1]- , Xs [0,0,0,0,1,0]- , Xs [0,0,0,0,-1]- , Xs [0,0,0,1,0,0]- , Xs [0,0,0,1,1]- , Xs [0,0,0,-1,0]- , Xs [0,0,0,7]- , Xs [0,0,1,0,0,0]- , Xs [0,0,1,0,1]- , Xs [0,0,1,1,0]- , Xs [0,0,1,-1]- , Xs [0,0,-1,0,0]- , Xs [0,0,-1,1]- , Xs [0,0,7,0]- , Xs [0,0,-8]- , Xs [0,1,0,0,0,0]- , Xs [0,1,0,0,1]- , Xs [0,1,0,1,0]- , Xs [0,1,0,-1]- , Xs [0,1,1,0,0]- , Xs [0,1,1,1]- , Xs [0,1,-1,0]- , Xs [0,1,7]- , Xs [0,-1,0,0,0]- , Xs [0,-1,0,1]- , Xs [0,-1,1,0]- , Xs [0,-1,-1]- , Xs [0,7,0,0]- , Xs [0,7,1]- , Xs [0,-8,0]- , Xs [0,2]- , Xs [1,0,0,0,0,0]- , Xs [1,0,0,0,1]- , Xs [1,0,0,1,0]- , Xs [1,0,0,-1]- , Xs [1,0,1,0,0]- , Xs [1,0,1,1]- , Xs [1,0,-1,0]- , Xs [1,0,7]- , Xs [1,1,0,0,0]- , Xs [1,1,0,1]- , Xs [1,1,1,0]- , Xs [1,1,-1]- , Xs [1,-1,0,0]- , Xs [1,-1,1]- , Xs [1,7,0]- , Xs [1,-8]- , Xs [-1,0,0,0,0]- , Xs [-1,0,0,1]- , Xs [-1,0,1,0]- , Xs [-1,0,-1]- , Xs [-1,1,0,0]- , Xs [-1,1,1]- , Xs [-1,-1,0]- , Xs [-1,7]- , Xs [7,0,0,0]- , Xs [7,0,1]- , Xs [7,1,0]- , Xs [7,-1]- , Xs [-8,0,0]- , Xs [-8,1]- , Xs [2,0]- , Xs [-2]- ]- , [ Xs [0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,-1]- , Xs [0,0,0,0,1,0,0]- , Xs [0,0,0,0,1,1]- , Xs [0,0,0,0,-1,0]- , Xs [0,0,0,0,7]- , Xs [0,0,0,1,0,0,0]- , Xs [0,0,0,1,0,1]- , Xs [0,0,0,1,1,0]- , Xs [0,0,0,1,-1]- , Xs [0,0,0,-1,0,0]- , Xs [0,0,0,-1,1]- , Xs [0,0,0,7,0]- , Xs [0,0,0,-8]- , Xs [0,0,1,0,0,0,0]- , Xs [0,0,1,0,0,1]- , Xs [0,0,1,0,1,0]- , Xs [0,0,1,0,-1]- , Xs [0,0,1,1,0,0]- , Xs [0,0,1,1,1]- , Xs [0,0,1,-1,0]- , Xs [0,0,1,7]- , Xs [0,0,-1,0,0,0]- , Xs [0,0,-1,0,1]- , Xs [0,0,-1,1,0]- , Xs [0,0,-1,-1]- , Xs [0,0,7,0,0]- , Xs [0,0,7,1]- , Xs [0,0,-8,0]- , Xs [0,0,2]- , Xs [0,1,0,0,0,0,0]- , Xs [0,1,0,0,0,1]- , Xs [0,1,0,0,1,0]- , Xs [0,1,0,0,-1]- , Xs [0,1,0,1,0,0]- , Xs [0,1,0,1,1]- , Xs [0,1,0,-1,0]- , Xs [0,1,0,7]- , Xs [0,1,1,0,0,0]- , Xs [0,1,1,0,1]- , Xs [0,1,1,1,0]- , Xs [0,1,1,-1]- , Xs [0,1,-1,0,0]- , Xs [0,1,-1,1]- , Xs [0,1,7,0]- , Xs [0,1,-8]- , Xs [0,-1,0,0,0,0]- , Xs [0,-1,0,0,1]- , Xs [0,-1,0,1,0]- , Xs [0,-1,0,-1]- , Xs [0,-1,1,0,0]- , Xs [0,-1,1,1]- , Xs [0,-1,-1,0]- , Xs [0,-1,7]- , Xs [0,7,0,0,0]- , Xs [0,7,0,1]- , Xs [0,7,1,0]- , Xs [0,7,-1]- , Xs [0,-8,0,0]- , Xs [0,-8,1]- , Xs [0,2,0]- , Xs [0,-2]- , Xs [1,0,0,0,0,0,0]- , Xs [1,0,0,0,0,1]- , Xs [1,0,0,0,1,0]- , Xs [1,0,0,0,-1]- , Xs [1,0,0,1,0,0]- , Xs [1,0,0,1,1]- , Xs [1,0,0,-1,0]- , Xs [1,0,0,7]- , Xs [1,0,1,0,0,0]- , Xs [1,0,1,0,1]- , Xs [1,0,1,1,0]- , Xs [1,0,1,-1]- , Xs [1,0,-1,0,0]- , Xs [1,0,-1,1]- , Xs [1,0,7,0]- , Xs [1,0,-8]- , Xs [1,1,0,0,0,0]- , Xs [1,1,0,0,1]- , Xs [1,1,0,1,0]- , Xs [1,1,0,-1]- , Xs [1,1,1,0,0]- , Xs [1,1,1,1]- , Xs [1,1,-1,0]- , Xs [1,1,7]- , Xs [1,-1,0,0,0]- , Xs [1,-1,0,1]- , Xs [1,-1,1,0]- , Xs [1,-1,-1]- , Xs [1,7,0,0]- , Xs [1,7,1]- , Xs [1,-8,0]- , Xs [1,2]- , Xs [-1,0,0,0,0,0]- , Xs [-1,0,0,0,1]- , Xs [-1,0,0,1,0]- , Xs [-1,0,0,-1]- , Xs [-1,0,1,0,0]- , Xs [-1,0,1,1]- , Xs [-1,0,-1,0]- , Xs [-1,0,7]- , Xs [-1,1,0,0,0]- , Xs [-1,1,0,1]- , Xs [-1,1,1,0]- , Xs [-1,1,-1]- , Xs [-1,-1,0,0]- , Xs [-1,-1,1]- , Xs [-1,7,0]- , Xs [-1,-8]- , Xs [7,0,0,0,0]- , Xs [7,0,0,1]- , Xs [7,0,1,0]- , Xs [7,0,-1]- , Xs [7,1,0,0]- , Xs [7,1,1]- , Xs [7,-1,0]- , Xs [7,7]- , Xs [-8,0,0,0]- , Xs [-8,0,1]- , Xs [-8,1,0]- , Xs [-8,-1]- , Xs [2,0,0]- , Xs [2,1]- , Xs [-2,0]- , Xs [6]- ]- , [ Xs [0,0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,0,-1]- , Xs [0,0,0,0,0,1,0,0]- , Xs [0,0,0,0,0,1,1]- , Xs [0,0,0,0,0,-1,0]- , Xs [0,0,0,0,0,7]- , Xs [0,0,0,0,1,0,0,0]- , Xs [0,0,0,0,1,0,1]- , Xs [0,0,0,0,1,1,0]- , Xs [0,0,0,0,1,-1]- , Xs [0,0,0,0,-1,0,0]- , Xs [0,0,0,0,-1,1]- , Xs [0,0,0,0,7,0]- , Xs [0,0,0,0,-8]- , Xs [0,0,0,1,0,0,0,0]- , Xs [0,0,0,1,0,0,1]- , Xs [0,0,0,1,0,1,0]- , Xs [0,0,0,1,0,-1]- , Xs [0,0,0,1,1,0,0]- , Xs [0,0,0,1,1,1]- , Xs [0,0,0,1,-1,0]- , Xs [0,0,0,1,7]- , Xs [0,0,0,-1,0,0,0]- , Xs [0,0,0,-1,0,1]- , Xs [0,0,0,-1,1,0]- , Xs [0,0,0,-1,-1]- , Xs [0,0,0,7,0,0]- , Xs [0,0,0,7,1]- , Xs [0,0,0,-8,0]- , Xs [0,0,0,2]- , Xs [0,0,1,0,0,0,0,0]- , Xs [0,0,1,0,0,0,1]- , Xs [0,0,1,0,0,1,0]- , Xs [0,0,1,0,0,-1]- , Xs [0,0,1,0,1,0,0]- , Xs [0,0,1,0,1,1]- , Xs [0,0,1,0,-1,0]- , Xs [0,0,1,0,7]- , Xs [0,0,1,1,0,0,0]- , Xs [0,0,1,1,0,1]- , Xs [0,0,1,1,1,0]- , Xs [0,0,1,1,-1]- , Xs [0,0,1,-1,0,0]- , Xs [0,0,1,-1,1]- , Xs [0,0,1,7,0]- , Xs [0,0,1,-8]- , Xs [0,0,-1,0,0,0,0]- , Xs [0,0,-1,0,0,1]- , Xs [0,0,-1,0,1,0]- , Xs [0,0,-1,0,-1]- , Xs [0,0,-1,1,0,0]- , Xs [0,0,-1,1,1]- , Xs [0,0,-1,-1,0]- , Xs [0,0,-1,7]- , Xs [0,0,7,0,0,0]- , Xs [0,0,7,0,1]- , Xs [0,0,7,1,0]- , Xs [0,0,7,-1]- , Xs [0,0,-8,0,0]- , Xs [0,0,-8,1]- , Xs [0,0,2,0]- , Xs [0,0,-2]- , Xs [0,1,0,0,0,0,0,0]- , Xs [0,1,0,0,0,0,1]- , Xs [0,1,0,0,0,1,0]- , Xs [0,1,0,0,0,-1]- , Xs [0,1,0,0,1,0,0]- , Xs [0,1,0,0,1,1]- , Xs [0,1,0,0,-1,0]- , Xs [0,1,0,0,7]- , Xs [0,1,0,1,0,0,0]- , Xs [0,1,0,1,0,1]- , Xs [0,1,0,1,1,0]- , Xs [0,1,0,1,-1]- , Xs [0,1,0,-1,0,0]- , Xs [0,1,0,-1,1]- , Xs [0,1,0,7,0]- , Xs [0,1,0,-8]- , Xs [0,1,1,0,0,0,0]- , Xs [0,1,1,0,0,1]- , Xs [0,1,1,0,1,0]- , Xs [0,1,1,0,-1]- , Xs [0,1,1,1,0,0]- , Xs [0,1,1,1,1]- , Xs [0,1,1,-1,0]- , Xs [0,1,1,7]- , Xs [0,1,-1,0,0,0]- , Xs [0,1,-1,0,1]- , Xs [0,1,-1,1,0]- , Xs [0,1,-1,-1]- , Xs [0,1,7,0,0]- , Xs [0,1,7,1]- , Xs [0,1,-8,0]- , Xs [0,1,2]- , Xs [0,-1,0,0,0,0,0]- , Xs [0,-1,0,0,0,1]- , Xs [0,-1,0,0,1,0]- , Xs [0,-1,0,0,-1]- , Xs [0,-1,0,1,0,0]- , Xs [0,-1,0,1,1]- , Xs [0,-1,0,-1,0]- , Xs [0,-1,0,7]- , Xs [0,-1,1,0,0,0]- , Xs [0,-1,1,0,1]- , Xs [0,-1,1,1,0]- , Xs [0,-1,1,-1]- , Xs [0,-1,-1,0,0]- , Xs [0,-1,-1,1]- , Xs [0,-1,7,0]- , Xs [0,-1,-8]- , Xs [0,7,0,0,0,0]- , Xs [0,7,0,0,1]- , Xs [0,7,0,1,0]- , Xs [0,7,0,-1]- , Xs [0,7,1,0,0]- , Xs [0,7,1,1]- , Xs [0,7,-1,0]- , Xs [0,7,7]- , Xs [0,-8,0,0,0]- , Xs [0,-8,0,1]- , Xs [0,-8,1,0]- , Xs [0,-8,-1]- , Xs [0,2,0,0]- , Xs [0,2,1]- , Xs [0,-2,0]- , Xs [0,6]- , Xs [1,0,0,0,0,0,0,0]- , Xs [1,0,0,0,0,0,1]- , Xs [1,0,0,0,0,1,0]- , Xs [1,0,0,0,0,-1]- , Xs [1,0,0,0,1,0,0]- , Xs [1,0,0,0,1,1]- , Xs [1,0,0,0,-1,0]- , Xs [1,0,0,0,7]- , Xs [1,0,0,1,0,0,0]- , Xs [1,0,0,1,0,1]- , Xs [1,0,0,1,1,0]- , Xs [1,0,0,1,-1]- , Xs [1,0,0,-1,0,0]- , Xs [1,0,0,-1,1]- , Xs [1,0,0,7,0]- , Xs [1,0,0,-8]- , Xs [1,0,1,0,0,0,0]- , Xs [1,0,1,0,0,1]- , Xs [1,0,1,0,1,0]- , Xs [1,0,1,0,-1]- , Xs [1,0,1,1,0,0]- , Xs [1,0,1,1,1]- , Xs [1,0,1,-1,0]- , Xs [1,0,1,7]- , Xs [1,0,-1,0,0,0]- , Xs [1,0,-1,0,1]- , Xs [1,0,-1,1,0]- , Xs [1,0,-1,-1]- , Xs [1,0,7,0,0]- , Xs [1,0,7,1]- , Xs [1,0,-8,0]- , Xs [1,0,2]- , Xs [1,1,0,0,0,0,0]- , Xs [1,1,0,0,0,1]- , Xs [1,1,0,0,1,0]- , Xs [1,1,0,0,-1]- , Xs [1,1,0,1,0,0]- , Xs [1,1,0,1,1]- , Xs [1,1,0,-1,0]- , Xs [1,1,0,7]- , Xs [1,1,1,0,0,0]- , Xs [1,1,1,0,1]- , Xs [1,1,1,1,0]- , Xs [1,1,1,-1]- , Xs [1,1,-1,0,0]- , Xs [1,1,-1,1]- , Xs [1,1,7,0]- , Xs [1,1,-8]- , Xs [1,-1,0,0,0,0]- , Xs [1,-1,0,0,1]- , Xs [1,-1,0,1,0]- , Xs [1,-1,0,-1]- , Xs [1,-1,1,0,0]- , Xs [1,-1,1,1]- , Xs [1,-1,-1,0]- , Xs [1,-1,7]- , Xs [1,7,0,0,0]- , Xs [1,7,0,1]- , Xs [1,7,1,0]- , Xs [1,7,-1]- , Xs [1,-8,0,0]- , Xs [1,-8,1]- , Xs [1,2,0]- , Xs [1,-2]- , Xs [-1,0,0,0,0,0,0]- , Xs [-1,0,0,0,0,1]- , Xs [-1,0,0,0,1,0]- , Xs [-1,0,0,0,-1]- , Xs [-1,0,0,1,0,0]- , Xs [-1,0,0,1,1]- , Xs [-1,0,0,-1,0]- , Xs [-1,0,0,7]- , Xs [-1,0,1,0,0,0]- , Xs [-1,0,1,0,1]- , Xs [-1,0,1,1,0]- , Xs [-1,0,1,-1]- , Xs [-1,0,-1,0,0]- , Xs [-1,0,-1,1]- , Xs [-1,0,7,0]- , Xs [-1,0,-8]- , Xs [-1,1,0,0,0,0]- , Xs [-1,1,0,0,1]- , Xs [-1,1,0,1,0]- , Xs [-1,1,0,-1]- , Xs [-1,1,1,0,0]- , Xs [-1,1,1,1]- , Xs [-1,1,-1,0]- , Xs [-1,1,7]- , Xs [-1,-1,0,0,0]- , Xs [-1,-1,0,1]- , Xs [-1,-1,1,0]- , Xs [-1,-1,-1]- , Xs [-1,7,0,0]- , Xs [-1,7,1]- , Xs [-1,-8,0]- , Xs [-1,2]- , Xs [7,0,0,0,0,0]- , Xs [7,0,0,0,1]- , Xs [7,0,0,1,0]- , Xs [7,0,0,-1]- , Xs [7,0,1,0,0]- , Xs [7,0,1,1]- , Xs [7,0,-1,0]- , Xs [7,0,7]- , Xs [7,1,0,0,0]- , Xs [7,1,0,1]- , Xs [7,1,1,0]- , Xs [7,1,-1]- , Xs [7,-1,0,0]- , Xs [7,-1,1]- , Xs [7,7,0]- , Xs [7,-8]- , Xs [-8,0,0,0,0]- , Xs [-8,0,0,1]- , Xs [-8,0,1,0]- , Xs [-8,0,-1]- , Xs [-8,1,0,0]- , Xs [-8,1,1]- , Xs [-8,-1,0]- , Xs [-8,7]- , Xs [2,0,0,0]- , Xs [2,0,1]- , Xs [2,1,0]- , Xs [2,-1]- , Xs [-2,0,0]- , Xs [-2,1]- , Xs [6,0]- , Xs [-7]- ]- , [ Xs [0,0,0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,0,0,-1]- , Xs [0,0,0,0,0,0,1,0,0]- , Xs [0,0,0,0,0,0,1,1]- , Xs [0,0,0,0,0,0,-1,0]- , Xs [0,0,0,0,0,0,7]- , Xs [0,0,0,0,0,1,0,0,0]- , Xs [0,0,0,0,0,1,0,1]- , Xs [0,0,0,0,0,1,1,0]- , Xs [0,0,0,0,0,1,-1]- , Xs [0,0,0,0,0,-1,0,0]- , Xs [0,0,0,0,0,-1,1]- , Xs [0,0,0,0,0,7,0]- , Xs [0,0,0,0,0,-8]- , Xs [0,0,0,0,1,0,0,0,0]- , Xs [0,0,0,0,1,0,0,1]- , Xs [0,0,0,0,1,0,1,0]- , Xs [0,0,0,0,1,0,-1]- , Xs [0,0,0,0,1,1,0,0]- , Xs [0,0,0,0,1,1,1]- , Xs [0,0,0,0,1,-1,0]- , Xs [0,0,0,0,1,7]- , Xs [0,0,0,0,-1,0,0,0]- , Xs [0,0,0,0,-1,0,1]- , Xs [0,0,0,0,-1,1,0]- , Xs [0,0,0,0,-1,-1]- , Xs [0,0,0,0,7,0,0]- , Xs [0,0,0,0,7,1]- , Xs [0,0,0,0,-8,0]- , Xs [0,0,0,0,2]- , Xs [0,0,0,1,0,0,0,0,0]- , Xs [0,0,0,1,0,0,0,1]- , Xs [0,0,0,1,0,0,1,0]- , Xs [0,0,0,1,0,0,-1]- , Xs [0,0,0,1,0,1,0,0]- , Xs [0,0,0,1,0,1,1]- , Xs [0,0,0,1,0,-1,0]- , Xs [0,0,0,1,0,7]- , Xs [0,0,0,1,1,0,0,0]- , Xs [0,0,0,1,1,0,1]- , Xs [0,0,0,1,1,1,0]- , Xs [0,0,0,1,1,-1]- , Xs [0,0,0,1,-1,0,0]- , Xs [0,0,0,1,-1,1]- , Xs [0,0,0,1,7,0]- , Xs [0,0,0,1,-8]- , Xs [0,0,0,-1,0,0,0,0]- , Xs [0,0,0,-1,0,0,1]- , Xs [0,0,0,-1,0,1,0]- , Xs [0,0,0,-1,0,-1]- , Xs [0,0,0,-1,1,0,0]- , Xs [0,0,0,-1,1,1]- , Xs [0,0,0,-1,-1,0]- , Xs [0,0,0,-1,7]- , Xs [0,0,0,7,0,0,0]- , Xs [0,0,0,7,0,1]- , Xs [0,0,0,7,1,0]- , Xs [0,0,0,7,-1]- , Xs [0,0,0,-8,0,0]- , Xs [0,0,0,-8,1]- , Xs [0,0,0,2,0]- , Xs [0,0,0,-2]- , Xs [0,0,1,0,0,0,0,0,0]- , Xs [0,0,1,0,0,0,0,1]- , Xs [0,0,1,0,0,0,1,0]- , Xs [0,0,1,0,0,0,-1]- , Xs [0,0,1,0,0,1,0,0]- , Xs [0,0,1,0,0,1,1]- , Xs [0,0,1,0,0,-1,0]- , Xs [0,0,1,0,0,7]- , Xs [0,0,1,0,1,0,0,0]- , Xs [0,0,1,0,1,0,1]- , Xs [0,0,1,0,1,1,0]- , Xs [0,0,1,0,1,-1]- , Xs [0,0,1,0,-1,0,0]- , Xs [0,0,1,0,-1,1]- , Xs [0,0,1,0,7,0]- , Xs [0,0,1,0,-8]- , Xs [0,0,1,1,0,0,0,0]- , Xs [0,0,1,1,0,0,1]- , Xs [0,0,1,1,0,1,0]- , Xs [0,0,1,1,0,-1]- , Xs [0,0,1,1,1,0,0]- , Xs [0,0,1,1,1,1]- , Xs [0,0,1,1,-1,0]- , Xs [0,0,1,1,7]- , Xs [0,0,1,-1,0,0,0]- , Xs [0,0,1,-1,0,1]- , Xs [0,0,1,-1,1,0]- , Xs [0,0,1,-1,-1]- , Xs [0,0,1,7,0,0]- , Xs [0,0,1,7,1]- , Xs [0,0,1,-8,0]- , Xs [0,0,1,2]- , Xs [0,0,-1,0,0,0,0,0]- , Xs [0,0,-1,0,0,0,1]- , Xs [0,0,-1,0,0,1,0]- , Xs [0,0,-1,0,0,-1]- , Xs [0,0,-1,0,1,0,0]- , Xs [0,0,-1,0,1,1]- , Xs [0,0,-1,0,-1,0]- , Xs [0,0,-1,0,7]- , Xs [0,0,-1,1,0,0,0]- , Xs [0,0,-1,1,0,1]- , Xs [0,0,-1,1,1,0]- , Xs [0,0,-1,1,-1]- , Xs [0,0,-1,-1,0,0]- , Xs [0,0,-1,-1,1]- , Xs [0,0,-1,7,0]- , Xs [0,0,-1,-8]- , Xs [0,0,7,0,0,0,0]- , Xs [0,0,7,0,0,1]- , Xs [0,0,7,0,1,0]- , Xs [0,0,7,0,-1]- , Xs [0,0,7,1,0,0]- , Xs [0,0,7,1,1]- , Xs [0,0,7,-1,0]- , Xs [0,0,7,7]- , Xs [0,0,-8,0,0,0]- , Xs [0,0,-8,0,1]- , Xs [0,0,-8,1,0]- , Xs [0,0,-8,-1]- , Xs [0,0,2,0,0]- , Xs [0,0,2,1]- , Xs [0,0,-2,0]- , Xs [0,0,6]- , Xs [0,1,0,0,0,0,0,0,0]- , Xs [0,1,0,0,0,0,0,1]- , Xs [0,1,0,0,0,0,1,0]- , Xs [0,1,0,0,0,0,-1]- , Xs [0,1,0,0,0,1,0,0]- , Xs [0,1,0,0,0,1,1]- , Xs [0,1,0,0,0,-1,0]- , Xs [0,1,0,0,0,7]- , Xs [0,1,0,0,1,0,0,0]- , Xs [0,1,0,0,1,0,1]- , Xs [0,1,0,0,1,1,0]- , Xs [0,1,0,0,1,-1]- , Xs [0,1,0,0,-1,0,0]- , Xs [0,1,0,0,-1,1]- , Xs [0,1,0,0,7,0]- , Xs [0,1,0,0,-8]- , Xs [0,1,0,1,0,0,0,0]- , Xs [0,1,0,1,0,0,1]- , Xs [0,1,0,1,0,1,0]- , Xs [0,1,0,1,0,-1]- , Xs [0,1,0,1,1,0,0]- , Xs [0,1,0,1,1,1]- , Xs [0,1,0,1,-1,0]- , Xs [0,1,0,1,7]- , Xs [0,1,0,-1,0,0,0]- , Xs [0,1,0,-1,0,1]- , Xs [0,1,0,-1,1,0]- , Xs [0,1,0,-1,-1]- , Xs [0,1,0,7,0,0]- , Xs [0,1,0,7,1]- , Xs [0,1,0,-8,0]- , Xs [0,1,0,2]- , Xs [0,1,1,0,0,0,0,0]- , Xs [0,1,1,0,0,0,1]- , Xs [0,1,1,0,0,1,0]- , Xs [0,1,1,0,0,-1]- , Xs [0,1,1,0,1,0,0]- , Xs [0,1,1,0,1,1]- , Xs [0,1,1,0,-1,0]- , Xs [0,1,1,0,7]- , Xs [0,1,1,1,0,0,0]- , Xs [0,1,1,1,0,1]- , Xs [0,1,1,1,1,0]- , Xs [0,1,1,1,-1]- , Xs [0,1,1,-1,0,0]- , Xs [0,1,1,-1,1]- , Xs [0,1,1,7,0]- , Xs [0,1,1,-8]- , Xs [0,1,-1,0,0,0,0]- , Xs [0,1,-1,0,0,1]- , Xs [0,1,-1,0,1,0]- , Xs [0,1,-1,0,-1]- , Xs [0,1,-1,1,0,0]- , Xs [0,1,-1,1,1]- , Xs [0,1,-1,-1,0]- , Xs [0,1,-1,7]- , Xs [0,1,7,0,0,0]- , Xs [0,1,7,0,1]- , Xs [0,1,7,1,0]- , Xs [0,1,7,-1]- , Xs [0,1,-8,0,0]- , Xs [0,1,-8,1]- , Xs [0,1,2,0]- , Xs [0,1,-2]- , Xs [0,-1,0,0,0,0,0,0]- , Xs [0,-1,0,0,0,0,1]- , Xs [0,-1,0,0,0,1,0]- , Xs [0,-1,0,0,0,-1]- , Xs [0,-1,0,0,1,0,0]- , Xs [0,-1,0,0,1,1]- , Xs [0,-1,0,0,-1,0]- , Xs [0,-1,0,0,7]- , Xs [0,-1,0,1,0,0,0]- , Xs [0,-1,0,1,0,1]- , Xs [0,-1,0,1,1,0]- , Xs [0,-1,0,1,-1]- , Xs [0,-1,0,-1,0,0]- , Xs [0,-1,0,-1,1]- , Xs [0,-1,0,7,0]- , Xs [0,-1,0,-8]- , Xs [0,-1,1,0,0,0,0]- , Xs [0,-1,1,0,0,1]- , Xs [0,-1,1,0,1,0]- , Xs [0,-1,1,0,-1]- , Xs [0,-1,1,1,0,0]- , Xs [0,-1,1,1,1]- , Xs [0,-1,1,-1,0]- , Xs [0,-1,1,7]- , Xs [0,-1,-1,0,0,0]- , Xs [0,-1,-1,0,1]- , Xs [0,-1,-1,1,0]- , Xs [0,-1,-1,-1]- , Xs [0,-1,7,0,0]- , Xs [0,-1,7,1]- , Xs [0,-1,-8,0]- , Xs [0,-1,2]- , Xs [0,7,0,0,0,0,0]- , Xs [0,7,0,0,0,1]- , Xs [0,7,0,0,1,0]- , Xs [0,7,0,0,-1]- , Xs [0,7,0,1,0,0]- , Xs [0,7,0,1,1]- , Xs [0,7,0,-1,0]- , Xs [0,7,0,7]- , Xs [0,7,1,0,0,0]- , Xs [0,7,1,0,1]- , Xs [0,7,1,1,0]- , Xs [0,7,1,-1]- , Xs [0,7,-1,0,0]- , Xs [0,7,-1,1]- , Xs [0,7,7,0]- , Xs [0,7,-8]- , Xs [0,-8,0,0,0,0]- , Xs [0,-8,0,0,1]- , Xs [0,-8,0,1,0]- , Xs [0,-8,0,-1]- , Xs [0,-8,1,0,0]- , Xs [0,-8,1,1]- , Xs [0,-8,-1,0]- , Xs [0,-8,7]- , Xs [0,2,0,0,0]- , Xs [0,2,0,1]- , Xs [0,2,1,0]- , Xs [0,2,-1]- , Xs [0,-2,0,0]- , Xs [0,-2,1]- , Xs [0,6,0]- , Xs [0,-7]- , Xs [1,0,0,0,0,0,0,0,0]- , Xs [1,0,0,0,0,0,0,1]- , Xs [1,0,0,0,0,0,1,0]- , Xs [1,0,0,0,0,0,-1]- , Xs [1,0,0,0,0,1,0,0]- , Xs [1,0,0,0,0,1,1]- , Xs [1,0,0,0,0,-1,0]- , Xs [1,0,0,0,0,7]- , Xs [1,0,0,0,1,0,0,0]- , Xs [1,0,0,0,1,0,1]- , Xs [1,0,0,0,1,1,0]- , Xs [1,0,0,0,1,-1]- , Xs [1,0,0,0,-1,0,0]- , Xs [1,0,0,0,-1,1]- , Xs [1,0,0,0,7,0]- , Xs [1,0,0,0,-8]- , Xs [1,0,0,1,0,0,0,0]- , Xs [1,0,0,1,0,0,1]- , Xs [1,0,0,1,0,1,0]- , Xs [1,0,0,1,0,-1]- , Xs [1,0,0,1,1,0,0]- , Xs [1,0,0,1,1,1]- , Xs [1,0,0,1,-1,0]- , Xs [1,0,0,1,7]- , Xs [1,0,0,-1,0,0,0]- , Xs [1,0,0,-1,0,1]- , Xs [1,0,0,-1,1,0]- , Xs [1,0,0,-1,-1]- , Xs [1,0,0,7,0,0]- , Xs [1,0,0,7,1]- , Xs [1,0,0,-8,0]- , Xs [1,0,0,2]- , Xs [1,0,1,0,0,0,0,0]- , Xs [1,0,1,0,0,0,1]- , Xs [1,0,1,0,0,1,0]- , Xs [1,0,1,0,0,-1]- , Xs [1,0,1,0,1,0,0]- , Xs [1,0,1,0,1,1]- , Xs [1,0,1,0,-1,0]- , Xs [1,0,1,0,7]- , Xs [1,0,1,1,0,0,0]- , Xs [1,0,1,1,0,1]- , Xs [1,0,1,1,1,0]- , Xs [1,0,1,1,-1]- , Xs [1,0,1,-1,0,0]- , Xs [1,0,1,-1,1]- , Xs [1,0,1,7,0]- , Xs [1,0,1,-8]- , Xs [1,0,-1,0,0,0,0]- , Xs [1,0,-1,0,0,1]- , Xs [1,0,-1,0,1,0]- , Xs [1,0,-1,0,-1]- , Xs [1,0,-1,1,0,0]- , Xs [1,0,-1,1,1]- , Xs [1,0,-1,-1,0]- , Xs [1,0,-1,7]- , Xs [1,0,7,0,0,0]- , Xs [1,0,7,0,1]- , Xs [1,0,7,1,0]- , Xs [1,0,7,-1]- , Xs [1,0,-8,0,0]- , Xs [1,0,-8,1]- , Xs [1,0,2,0]- , Xs [1,0,-2]- , Xs [1,1,0,0,0,0,0,0]- , Xs [1,1,0,0,0,0,1]- , Xs [1,1,0,0,0,1,0]- , Xs [1,1,0,0,0,-1]- , Xs [1,1,0,0,1,0,0]- , Xs [1,1,0,0,1,1]- , Xs [1,1,0,0,-1,0]- , Xs [1,1,0,0,7]- , Xs [1,1,0,1,0,0,0]- , Xs [1,1,0,1,0,1]- , Xs [1,1,0,1,1,0]- , Xs [1,1,0,1,-1]- , Xs [1,1,0,-1,0,0]- , Xs [1,1,0,-1,1]- , Xs [1,1,0,7,0]- , Xs [1,1,0,-8]- , Xs [1,1,1,0,0,0,0]- , Xs [1,1,1,0,0,1]- , Xs [1,1,1,0,1,0]- , Xs [1,1,1,0,-1]- , Xs [1,1,1,1,0,0]- , Xs [1,1,1,1,1]- , Xs [1,1,1,-1,0]- , Xs [1,1,1,7]- , Xs [1,1,-1,0,0,0]- , Xs [1,1,-1,0,1]- , Xs [1,1,-1,1,0]- , Xs [1,1,-1,-1]- , Xs [1,1,7,0,0]- , Xs [1,1,7,1]- , Xs [1,1,-8,0]- , Xs [1,1,2]- , Xs [1,-1,0,0,0,0,0]- , Xs [1,-1,0,0,0,1]- , Xs [1,-1,0,0,1,0]- , Xs [1,-1,0,0,-1]- , Xs [1,-1,0,1,0,0]- , Xs [1,-1,0,1,1]- , Xs [1,-1,0,-1,0]- , Xs [1,-1,0,7]- , Xs [1,-1,1,0,0,0]- , Xs [1,-1,1,0,1]- , Xs [1,-1,1,1,0]- , Xs [1,-1,1,-1]- , Xs [1,-1,-1,0,0]- , Xs [1,-1,-1,1]- , Xs [1,-1,7,0]- , Xs [1,-1,-8]- , Xs [1,7,0,0,0,0]- , Xs [1,7,0,0,1]- , Xs [1,7,0,1,0]- , Xs [1,7,0,-1]- , Xs [1,7,1,0,0]- , Xs [1,7,1,1]- , Xs [1,7,-1,0]- , Xs [1,7,7]- , Xs [1,-8,0,0,0]- , Xs [1,-8,0,1]- , Xs [1,-8,1,0]- , Xs [1,-8,-1]- , Xs [1,2,0,0]- , Xs [1,2,1]- , Xs [1,-2,0]- , Xs [1,6]- , Xs [-1,0,0,0,0,0,0,0]- , Xs [-1,0,0,0,0,0,1]- , Xs [-1,0,0,0,0,1,0]- , Xs [-1,0,0,0,0,-1]- , Xs [-1,0,0,0,1,0,0]- , Xs [-1,0,0,0,1,1]- , Xs [-1,0,0,0,-1,0]- , Xs [-1,0,0,0,7]- , Xs [-1,0,0,1,0,0,0]- , Xs [-1,0,0,1,0,1]- , Xs [-1,0,0,1,1,0]- , Xs [-1,0,0,1,-1]- , Xs [-1,0,0,-1,0,0]- , Xs [-1,0,0,-1,1]- , Xs [-1,0,0,7,0]- , Xs [-1,0,0,-8]- , Xs [-1,0,1,0,0,0,0]- , Xs [-1,0,1,0,0,1]- , Xs [-1,0,1,0,1,0]- , Xs [-1,0,1,0,-1]- , Xs [-1,0,1,1,0,0]- , Xs [-1,0,1,1,1]- , Xs [-1,0,1,-1,0]- , Xs [-1,0,1,7]- , Xs [-1,0,-1,0,0,0]- , Xs [-1,0,-1,0,1]- , Xs [-1,0,-1,1,0]- , Xs [-1,0,-1,-1]- , Xs [-1,0,7,0,0]- , Xs [-1,0,7,1]- , Xs [-1,0,-8,0]- , Xs [-1,0,2]- , Xs [-1,1,0,0,0,0,0]- , Xs [-1,1,0,0,0,1]- , Xs [-1,1,0,0,1,0]- , Xs [-1,1,0,0,-1]- , Xs [-1,1,0,1,0,0]- , Xs [-1,1,0,1,1]- , Xs [-1,1,0,-1,0]- , Xs [-1,1,0,7]- , Xs [-1,1,1,0,0,0]- , Xs [-1,1,1,0,1]- , Xs [-1,1,1,1,0]- , Xs [-1,1,1,-1]- , Xs [-1,1,-1,0,0]- , Xs [-1,1,-1,1]- , Xs [-1,1,7,0]- , Xs [-1,1,-8]- , Xs [-1,-1,0,0,0,0]- , Xs [-1,-1,0,0,1]- , Xs [-1,-1,0,1,0]- , Xs [-1,-1,0,-1]- , Xs [-1,-1,1,0,0]- , Xs [-1,-1,1,1]- , Xs [-1,-1,-1,0]- , Xs [-1,-1,7]- , Xs [-1,7,0,0,0]- , Xs [-1,7,0,1]- , Xs [-1,7,1,0]- , Xs [-1,7,-1]- , Xs [-1,-8,0,0]- , Xs [-1,-8,1]- , Xs [-1,2,0]- , Xs [-1,-2]- , Xs [7,0,0,0,0,0,0]- , Xs [7,0,0,0,0,1]- , Xs [7,0,0,0,1,0]- , Xs [7,0,0,0,-1]- , Xs [7,0,0,1,0,0]- , Xs [7,0,0,1,1]- , Xs [7,0,0,-1,0]- , Xs [7,0,0,7]- , Xs [7,0,1,0,0,0]- , Xs [7,0,1,0,1]- , Xs [7,0,1,1,0]- , Xs [7,0,1,-1]- , Xs [7,0,-1,0,0]- , Xs [7,0,-1,1]- , Xs [7,0,7,0]- , Xs [7,0,-8]- , Xs [7,1,0,0,0,0]- , Xs [7,1,0,0,1]- , Xs [7,1,0,1,0]- , Xs [7,1,0,-1]- , Xs [7,1,1,0,0]- , Xs [7,1,1,1]- , Xs [7,1,-1,0]- , Xs [7,1,7]- , Xs [7,-1,0,0,0]- , Xs [7,-1,0,1]- , Xs [7,-1,1,0]- , Xs [7,-1,-1]- , Xs [7,7,0,0]- , Xs [7,7,1]- , Xs [7,-8,0]- , Xs [7,2]- , Xs [-8,0,0,0,0,0]- , Xs [-8,0,0,0,1]- , Xs [-8,0,0,1,0]- , Xs [-8,0,0,-1]- , Xs [-8,0,1,0,0]- , Xs [-8,0,1,1]- , Xs [-8,0,-1,0]- , Xs [-8,0,7]- , Xs [-8,1,0,0,0]- , Xs [-8,1,0,1]- , Xs [-8,1,1,0]- , Xs [-8,1,-1]- , Xs [-8,-1,0,0]- , Xs [-8,-1,1]- , Xs [-8,7,0]- , Xs [-8,-8]- , Xs [2,0,0,0,0]- , Xs [2,0,0,1]- , Xs [2,0,1,0]- , Xs [2,0,-1]- , Xs [2,1,0,0]- , Xs [2,1,1]- , Xs [2,-1,0]- , Xs [2,7]- , Xs [-2,0,0,0]- , Xs [-2,0,1]- , Xs [-2,1,0]- , Xs [-2,-1]- , Xs [6,0,0]- , Xs [6,1]- , Xs [-7,0]- , Xs [3]- ]- , ...- ]
− tests/diff/tiers-XsNat7.out
@@ -1,1033 +0,0 @@-map length (tiers :: [[ Xs Nat7 ]]) = [0,1,1,2,4,8,16,32,64,127,253,504,...]--length (list :: [ Xs Nat7 ]) = Infinity--allUnique (list :: [ Xs Nat7 ]) = True--ratioRepetitions (list :: [ Xs Nat7 ]) = 0 % 1--tiers :: [Xs Nat7] =- [ []- , [Xs []]- , [Xs [0]]- , [ Xs [0,0]- , Xs [1]- ]- , [ Xs [0,0,0]- , Xs [0,1]- , Xs [1,0]- , Xs [2]- ]- , [ Xs [0,0,0,0]- , Xs [0,0,1]- , Xs [0,1,0]- , Xs [0,2]- , Xs [1,0,0]- , Xs [1,1]- , Xs [2,0]- , Xs [6]- ]- , [ Xs [0,0,0,0,0]- , Xs [0,0,0,1]- , Xs [0,0,1,0]- , Xs [0,0,2]- , Xs [0,1,0,0]- , Xs [0,1,1]- , Xs [0,2,0]- , Xs [0,6]- , Xs [1,0,0,0]- , Xs [1,0,1]- , Xs [1,1,0]- , Xs [1,2]- , Xs [2,0,0]- , Xs [2,1]- , Xs [6,0]- , Xs [3]- ]- , [ Xs [0,0,0,0,0,0]- , Xs [0,0,0,0,1]- , Xs [0,0,0,1,0]- , Xs [0,0,0,2]- , Xs [0,0,1,0,0]- , Xs [0,0,1,1]- , Xs [0,0,2,0]- , Xs [0,0,6]- , Xs [0,1,0,0,0]- , Xs [0,1,0,1]- , Xs [0,1,1,0]- , Xs [0,1,2]- , Xs [0,2,0,0]- , Xs [0,2,1]- , Xs [0,6,0]- , Xs [0,3]- , Xs [1,0,0,0,0]- , Xs [1,0,0,1]- , Xs [1,0,1,0]- , Xs [1,0,2]- , Xs [1,1,0,0]- , Xs [1,1,1]- , Xs [1,2,0]- , Xs [1,6]- , Xs [2,0,0,0]- , Xs [2,0,1]- , Xs [2,1,0]- , Xs [2,2]- , Xs [6,0,0]- , Xs [6,1]- , Xs [3,0]- , Xs [4]- ]- , [ Xs [0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,1]- , Xs [0,0,0,0,1,0]- , Xs [0,0,0,0,2]- , Xs [0,0,0,1,0,0]- , Xs [0,0,0,1,1]- , Xs [0,0,0,2,0]- , Xs [0,0,0,6]- , Xs [0,0,1,0,0,0]- , Xs [0,0,1,0,1]- , Xs [0,0,1,1,0]- , Xs [0,0,1,2]- , Xs [0,0,2,0,0]- , Xs [0,0,2,1]- , Xs [0,0,6,0]- , Xs [0,0,3]- , Xs [0,1,0,0,0,0]- , Xs [0,1,0,0,1]- , Xs [0,1,0,1,0]- , Xs [0,1,0,2]- , Xs [0,1,1,0,0]- , Xs [0,1,1,1]- , Xs [0,1,2,0]- , Xs [0,1,6]- , Xs [0,2,0,0,0]- , Xs [0,2,0,1]- , Xs [0,2,1,0]- , Xs [0,2,2]- , Xs [0,6,0,0]- , Xs [0,6,1]- , Xs [0,3,0]- , Xs [0,4]- , Xs [1,0,0,0,0,0]- , Xs [1,0,0,0,1]- , Xs [1,0,0,1,0]- , Xs [1,0,0,2]- , Xs [1,0,1,0,0]- , Xs [1,0,1,1]- , Xs [1,0,2,0]- , Xs [1,0,6]- , Xs [1,1,0,0,0]- , Xs [1,1,0,1]- , Xs [1,1,1,0]- , Xs [1,1,2]- , Xs [1,2,0,0]- , Xs [1,2,1]- , Xs [1,6,0]- , Xs [1,3]- , Xs [2,0,0,0,0]- , Xs [2,0,0,1]- , Xs [2,0,1,0]- , Xs [2,0,2]- , Xs [2,1,0,0]- , Xs [2,1,1]- , Xs [2,2,0]- , Xs [2,6]- , Xs [6,0,0,0]- , Xs [6,0,1]- , Xs [6,1,0]- , Xs [6,2]- , Xs [3,0,0]- , Xs [3,1]- , Xs [4,0]- , Xs [5]- ]- , [ Xs [0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,2]- , Xs [0,0,0,0,1,0,0]- , Xs [0,0,0,0,1,1]- , Xs [0,0,0,0,2,0]- , Xs [0,0,0,0,6]- , Xs [0,0,0,1,0,0,0]- , Xs [0,0,0,1,0,1]- , Xs [0,0,0,1,1,0]- , Xs [0,0,0,1,2]- , Xs [0,0,0,2,0,0]- , Xs [0,0,0,2,1]- , Xs [0,0,0,6,0]- , Xs [0,0,0,3]- , Xs [0,0,1,0,0,0,0]- , Xs [0,0,1,0,0,1]- , Xs [0,0,1,0,1,0]- , Xs [0,0,1,0,2]- , Xs [0,0,1,1,0,0]- , Xs [0,0,1,1,1]- , Xs [0,0,1,2,0]- , Xs [0,0,1,6]- , Xs [0,0,2,0,0,0]- , Xs [0,0,2,0,1]- , Xs [0,0,2,1,0]- , Xs [0,0,2,2]- , Xs [0,0,6,0,0]- , Xs [0,0,6,1]- , Xs [0,0,3,0]- , Xs [0,0,4]- , Xs [0,1,0,0,0,0,0]- , Xs [0,1,0,0,0,1]- , Xs [0,1,0,0,1,0]- , Xs [0,1,0,0,2]- , Xs [0,1,0,1,0,0]- , Xs [0,1,0,1,1]- , Xs [0,1,0,2,0]- , Xs [0,1,0,6]- , Xs [0,1,1,0,0,0]- , Xs [0,1,1,0,1]- , Xs [0,1,1,1,0]- , Xs [0,1,1,2]- , Xs [0,1,2,0,0]- , Xs [0,1,2,1]- , Xs [0,1,6,0]- , Xs [0,1,3]- , Xs [0,2,0,0,0,0]- , Xs [0,2,0,0,1]- , Xs [0,2,0,1,0]- , Xs [0,2,0,2]- , Xs [0,2,1,0,0]- , Xs [0,2,1,1]- , Xs [0,2,2,0]- , Xs [0,2,6]- , Xs [0,6,0,0,0]- , Xs [0,6,0,1]- , Xs [0,6,1,0]- , Xs [0,6,2]- , Xs [0,3,0,0]- , Xs [0,3,1]- , Xs [0,4,0]- , Xs [0,5]- , Xs [1,0,0,0,0,0,0]- , Xs [1,0,0,0,0,1]- , Xs [1,0,0,0,1,0]- , Xs [1,0,0,0,2]- , Xs [1,0,0,1,0,0]- , Xs [1,0,0,1,1]- , Xs [1,0,0,2,0]- , Xs [1,0,0,6]- , Xs [1,0,1,0,0,0]- , Xs [1,0,1,0,1]- , Xs [1,0,1,1,0]- , Xs [1,0,1,2]- , Xs [1,0,2,0,0]- , Xs [1,0,2,1]- , Xs [1,0,6,0]- , Xs [1,0,3]- , Xs [1,1,0,0,0,0]- , Xs [1,1,0,0,1]- , Xs [1,1,0,1,0]- , Xs [1,1,0,2]- , Xs [1,1,1,0,0]- , Xs [1,1,1,1]- , Xs [1,1,2,0]- , Xs [1,1,6]- , Xs [1,2,0,0,0]- , Xs [1,2,0,1]- , Xs [1,2,1,0]- , Xs [1,2,2]- , Xs [1,6,0,0]- , Xs [1,6,1]- , Xs [1,3,0]- , Xs [1,4]- , Xs [2,0,0,0,0,0]- , Xs [2,0,0,0,1]- , Xs [2,0,0,1,0]- , Xs [2,0,0,2]- , Xs [2,0,1,0,0]- , Xs [2,0,1,1]- , Xs [2,0,2,0]- , Xs [2,0,6]- , Xs [2,1,0,0,0]- , Xs [2,1,0,1]- , Xs [2,1,1,0]- , Xs [2,1,2]- , Xs [2,2,0,0]- , Xs [2,2,1]- , Xs [2,6,0]- , Xs [2,3]- , Xs [6,0,0,0,0]- , Xs [6,0,0,1]- , Xs [6,0,1,0]- , Xs [6,0,2]- , Xs [6,1,0,0]- , Xs [6,1,1]- , Xs [6,2,0]- , Xs [6,6]- , Xs [3,0,0,0]- , Xs [3,0,1]- , Xs [3,1,0]- , Xs [3,2]- , Xs [4,0,0]- , Xs [4,1]- , Xs [5,0]- ]- , [ Xs [0,0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,0,2]- , Xs [0,0,0,0,0,1,0,0]- , Xs [0,0,0,0,0,1,1]- , Xs [0,0,0,0,0,2,0]- , Xs [0,0,0,0,0,6]- , Xs [0,0,0,0,1,0,0,0]- , Xs [0,0,0,0,1,0,1]- , Xs [0,0,0,0,1,1,0]- , Xs [0,0,0,0,1,2]- , Xs [0,0,0,0,2,0,0]- , Xs [0,0,0,0,2,1]- , Xs [0,0,0,0,6,0]- , Xs [0,0,0,0,3]- , Xs [0,0,0,1,0,0,0,0]- , Xs [0,0,0,1,0,0,1]- , Xs [0,0,0,1,0,1,0]- , Xs [0,0,0,1,0,2]- , Xs [0,0,0,1,1,0,0]- , Xs [0,0,0,1,1,1]- , Xs [0,0,0,1,2,0]- , Xs [0,0,0,1,6]- , Xs [0,0,0,2,0,0,0]- , Xs [0,0,0,2,0,1]- , Xs [0,0,0,2,1,0]- , Xs [0,0,0,2,2]- , Xs [0,0,0,6,0,0]- , Xs [0,0,0,6,1]- , Xs [0,0,0,3,0]- , Xs [0,0,0,4]- , Xs [0,0,1,0,0,0,0,0]- , Xs [0,0,1,0,0,0,1]- , Xs [0,0,1,0,0,1,0]- , Xs [0,0,1,0,0,2]- , Xs [0,0,1,0,1,0,0]- , Xs [0,0,1,0,1,1]- , Xs [0,0,1,0,2,0]- , Xs [0,0,1,0,6]- , Xs [0,0,1,1,0,0,0]- , Xs [0,0,1,1,0,1]- , Xs [0,0,1,1,1,0]- , Xs [0,0,1,1,2]- , Xs [0,0,1,2,0,0]- , Xs [0,0,1,2,1]- , Xs [0,0,1,6,0]- , Xs [0,0,1,3]- , Xs [0,0,2,0,0,0,0]- , Xs [0,0,2,0,0,1]- , Xs [0,0,2,0,1,0]- , Xs [0,0,2,0,2]- , Xs [0,0,2,1,0,0]- , Xs [0,0,2,1,1]- , Xs [0,0,2,2,0]- , Xs [0,0,2,6]- , Xs [0,0,6,0,0,0]- , Xs [0,0,6,0,1]- , Xs [0,0,6,1,0]- , Xs [0,0,6,2]- , Xs [0,0,3,0,0]- , Xs [0,0,3,1]- , Xs [0,0,4,0]- , Xs [0,0,5]- , Xs [0,1,0,0,0,0,0,0]- , Xs [0,1,0,0,0,0,1]- , Xs [0,1,0,0,0,1,0]- , Xs [0,1,0,0,0,2]- , Xs [0,1,0,0,1,0,0]- , Xs [0,1,0,0,1,1]- , Xs [0,1,0,0,2,0]- , Xs [0,1,0,0,6]- , Xs [0,1,0,1,0,0,0]- , Xs [0,1,0,1,0,1]- , Xs [0,1,0,1,1,0]- , Xs [0,1,0,1,2]- , Xs [0,1,0,2,0,0]- , Xs [0,1,0,2,1]- , Xs [0,1,0,6,0]- , Xs [0,1,0,3]- , Xs [0,1,1,0,0,0,0]- , Xs [0,1,1,0,0,1]- , Xs [0,1,1,0,1,0]- , Xs [0,1,1,0,2]- , Xs [0,1,1,1,0,0]- , Xs [0,1,1,1,1]- , Xs [0,1,1,2,0]- , Xs [0,1,1,6]- , Xs [0,1,2,0,0,0]- , Xs [0,1,2,0,1]- , Xs [0,1,2,1,0]- , Xs [0,1,2,2]- , Xs [0,1,6,0,0]- , Xs [0,1,6,1]- , Xs [0,1,3,0]- , Xs [0,1,4]- , Xs [0,2,0,0,0,0,0]- , Xs [0,2,0,0,0,1]- , Xs [0,2,0,0,1,0]- , Xs [0,2,0,0,2]- , Xs [0,2,0,1,0,0]- , Xs [0,2,0,1,1]- , Xs [0,2,0,2,0]- , Xs [0,2,0,6]- , Xs [0,2,1,0,0,0]- , Xs [0,2,1,0,1]- , Xs [0,2,1,1,0]- , Xs [0,2,1,2]- , Xs [0,2,2,0,0]- , Xs [0,2,2,1]- , Xs [0,2,6,0]- , Xs [0,2,3]- , Xs [0,6,0,0,0,0]- , Xs [0,6,0,0,1]- , Xs [0,6,0,1,0]- , Xs [0,6,0,2]- , Xs [0,6,1,0,0]- , Xs [0,6,1,1]- , Xs [0,6,2,0]- , Xs [0,6,6]- , Xs [0,3,0,0,0]- , Xs [0,3,0,1]- , Xs [0,3,1,0]- , Xs [0,3,2]- , Xs [0,4,0,0]- , Xs [0,4,1]- , Xs [0,5,0]- , Xs [1,0,0,0,0,0,0,0]- , Xs [1,0,0,0,0,0,1]- , Xs [1,0,0,0,0,1,0]- , Xs [1,0,0,0,0,2]- , Xs [1,0,0,0,1,0,0]- , Xs [1,0,0,0,1,1]- , Xs [1,0,0,0,2,0]- , Xs [1,0,0,0,6]- , Xs [1,0,0,1,0,0,0]- , Xs [1,0,0,1,0,1]- , Xs [1,0,0,1,1,0]- , Xs [1,0,0,1,2]- , Xs [1,0,0,2,0,0]- , Xs [1,0,0,2,1]- , Xs [1,0,0,6,0]- , Xs [1,0,0,3]- , Xs [1,0,1,0,0,0,0]- , Xs [1,0,1,0,0,1]- , Xs [1,0,1,0,1,0]- , Xs [1,0,1,0,2]- , Xs [1,0,1,1,0,0]- , Xs [1,0,1,1,1]- , Xs [1,0,1,2,0]- , Xs [1,0,1,6]- , Xs [1,0,2,0,0,0]- , Xs [1,0,2,0,1]- , Xs [1,0,2,1,0]- , Xs [1,0,2,2]- , Xs [1,0,6,0,0]- , Xs [1,0,6,1]- , Xs [1,0,3,0]- , Xs [1,0,4]- , Xs [1,1,0,0,0,0,0]- , Xs [1,1,0,0,0,1]- , Xs [1,1,0,0,1,0]- , Xs [1,1,0,0,2]- , Xs [1,1,0,1,0,0]- , Xs [1,1,0,1,1]- , Xs [1,1,0,2,0]- , Xs [1,1,0,6]- , Xs [1,1,1,0,0,0]- , Xs [1,1,1,0,1]- , Xs [1,1,1,1,0]- , Xs [1,1,1,2]- , Xs [1,1,2,0,0]- , Xs [1,1,2,1]- , Xs [1,1,6,0]- , Xs [1,1,3]- , Xs [1,2,0,0,0,0]- , Xs [1,2,0,0,1]- , Xs [1,2,0,1,0]- , Xs [1,2,0,2]- , Xs [1,2,1,0,0]- , Xs [1,2,1,1]- , Xs [1,2,2,0]- , Xs [1,2,6]- , Xs [1,6,0,0,0]- , Xs [1,6,0,1]- , Xs [1,6,1,0]- , Xs [1,6,2]- , Xs [1,3,0,0]- , Xs [1,3,1]- , Xs [1,4,0]- , Xs [1,5]- , Xs [2,0,0,0,0,0,0]- , Xs [2,0,0,0,0,1]- , Xs [2,0,0,0,1,0]- , Xs [2,0,0,0,2]- , Xs [2,0,0,1,0,0]- , Xs [2,0,0,1,1]- , Xs [2,0,0,2,0]- , Xs [2,0,0,6]- , Xs [2,0,1,0,0,0]- , Xs [2,0,1,0,1]- , Xs [2,0,1,1,0]- , Xs [2,0,1,2]- , Xs [2,0,2,0,0]- , Xs [2,0,2,1]- , Xs [2,0,6,0]- , Xs [2,0,3]- , Xs [2,1,0,0,0,0]- , Xs [2,1,0,0,1]- , Xs [2,1,0,1,0]- , Xs [2,1,0,2]- , Xs [2,1,1,0,0]- , Xs [2,1,1,1]- , Xs [2,1,2,0]- , Xs [2,1,6]- , Xs [2,2,0,0,0]- , Xs [2,2,0,1]- , Xs [2,2,1,0]- , Xs [2,2,2]- , Xs [2,6,0,0]- , Xs [2,6,1]- , Xs [2,3,0]- , Xs [2,4]- , Xs [6,0,0,0,0,0]- , Xs [6,0,0,0,1]- , Xs [6,0,0,1,0]- , Xs [6,0,0,2]- , Xs [6,0,1,0,0]- , Xs [6,0,1,1]- , Xs [6,0,2,0]- , Xs [6,0,6]- , Xs [6,1,0,0,0]- , Xs [6,1,0,1]- , Xs [6,1,1,0]- , Xs [6,1,2]- , Xs [6,2,0,0]- , Xs [6,2,1]- , Xs [6,6,0]- , Xs [6,3]- , Xs [3,0,0,0,0]- , Xs [3,0,0,1]- , Xs [3,0,1,0]- , Xs [3,0,2]- , Xs [3,1,0,0]- , Xs [3,1,1]- , Xs [3,2,0]- , Xs [3,6]- , Xs [4,0,0,0]- , Xs [4,0,1]- , Xs [4,1,0]- , Xs [4,2]- , Xs [5,0,0]- , Xs [5,1]- ]- , [ Xs [0,0,0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,0,0,2]- , Xs [0,0,0,0,0,0,1,0,0]- , Xs [0,0,0,0,0,0,1,1]- , Xs [0,0,0,0,0,0,2,0]- , Xs [0,0,0,0,0,0,6]- , Xs [0,0,0,0,0,1,0,0,0]- , Xs [0,0,0,0,0,1,0,1]- , Xs [0,0,0,0,0,1,1,0]- , Xs [0,0,0,0,0,1,2]- , Xs [0,0,0,0,0,2,0,0]- , Xs [0,0,0,0,0,2,1]- , Xs [0,0,0,0,0,6,0]- , Xs [0,0,0,0,0,3]- , Xs [0,0,0,0,1,0,0,0,0]- , Xs [0,0,0,0,1,0,0,1]- , Xs [0,0,0,0,1,0,1,0]- , Xs [0,0,0,0,1,0,2]- , Xs [0,0,0,0,1,1,0,0]- , Xs [0,0,0,0,1,1,1]- , Xs [0,0,0,0,1,2,0]- , Xs [0,0,0,0,1,6]- , Xs [0,0,0,0,2,0,0,0]- , Xs [0,0,0,0,2,0,1]- , Xs [0,0,0,0,2,1,0]- , Xs [0,0,0,0,2,2]- , Xs [0,0,0,0,6,0,0]- , Xs [0,0,0,0,6,1]- , Xs [0,0,0,0,3,0]- , Xs [0,0,0,0,4]- , Xs [0,0,0,1,0,0,0,0,0]- , Xs [0,0,0,1,0,0,0,1]- , Xs [0,0,0,1,0,0,1,0]- , Xs [0,0,0,1,0,0,2]- , Xs [0,0,0,1,0,1,0,0]- , Xs [0,0,0,1,0,1,1]- , Xs [0,0,0,1,0,2,0]- , Xs [0,0,0,1,0,6]- , Xs [0,0,0,1,1,0,0,0]- , Xs [0,0,0,1,1,0,1]- , Xs [0,0,0,1,1,1,0]- , Xs [0,0,0,1,1,2]- , Xs [0,0,0,1,2,0,0]- , Xs [0,0,0,1,2,1]- , Xs [0,0,0,1,6,0]- , Xs [0,0,0,1,3]- , Xs [0,0,0,2,0,0,0,0]- , Xs [0,0,0,2,0,0,1]- , Xs [0,0,0,2,0,1,0]- , Xs [0,0,0,2,0,2]- , Xs [0,0,0,2,1,0,0]- , Xs [0,0,0,2,1,1]- , Xs [0,0,0,2,2,0]- , Xs [0,0,0,2,6]- , Xs [0,0,0,6,0,0,0]- , Xs [0,0,0,6,0,1]- , Xs [0,0,0,6,1,0]- , Xs [0,0,0,6,2]- , Xs [0,0,0,3,0,0]- , Xs [0,0,0,3,1]- , Xs [0,0,0,4,0]- , Xs [0,0,0,5]- , Xs [0,0,1,0,0,0,0,0,0]- , Xs [0,0,1,0,0,0,0,1]- , Xs [0,0,1,0,0,0,1,0]- , Xs [0,0,1,0,0,0,2]- , Xs [0,0,1,0,0,1,0,0]- , Xs [0,0,1,0,0,1,1]- , Xs [0,0,1,0,0,2,0]- , Xs [0,0,1,0,0,6]- , Xs [0,0,1,0,1,0,0,0]- , Xs [0,0,1,0,1,0,1]- , Xs [0,0,1,0,1,1,0]- , Xs [0,0,1,0,1,2]- , Xs [0,0,1,0,2,0,0]- , Xs [0,0,1,0,2,1]- , Xs [0,0,1,0,6,0]- , Xs [0,0,1,0,3]- , Xs [0,0,1,1,0,0,0,0]- , Xs [0,0,1,1,0,0,1]- , Xs [0,0,1,1,0,1,0]- , Xs [0,0,1,1,0,2]- , Xs [0,0,1,1,1,0,0]- , Xs [0,0,1,1,1,1]- , Xs [0,0,1,1,2,0]- , Xs [0,0,1,1,6]- , Xs [0,0,1,2,0,0,0]- , Xs [0,0,1,2,0,1]- , Xs [0,0,1,2,1,0]- , Xs [0,0,1,2,2]- , Xs [0,0,1,6,0,0]- , Xs [0,0,1,6,1]- , Xs [0,0,1,3,0]- , Xs [0,0,1,4]- , Xs [0,0,2,0,0,0,0,0]- , Xs [0,0,2,0,0,0,1]- , Xs [0,0,2,0,0,1,0]- , Xs [0,0,2,0,0,2]- , Xs [0,0,2,0,1,0,0]- , Xs [0,0,2,0,1,1]- , Xs [0,0,2,0,2,0]- , Xs [0,0,2,0,6]- , Xs [0,0,2,1,0,0,0]- , Xs [0,0,2,1,0,1]- , Xs [0,0,2,1,1,0]- , Xs [0,0,2,1,2]- , Xs [0,0,2,2,0,0]- , Xs [0,0,2,2,1]- , Xs [0,0,2,6,0]- , Xs [0,0,2,3]- , Xs [0,0,6,0,0,0,0]- , Xs [0,0,6,0,0,1]- , Xs [0,0,6,0,1,0]- , Xs [0,0,6,0,2]- , Xs [0,0,6,1,0,0]- , Xs [0,0,6,1,1]- , Xs [0,0,6,2,0]- , Xs [0,0,6,6]- , Xs [0,0,3,0,0,0]- , Xs [0,0,3,0,1]- , Xs [0,0,3,1,0]- , Xs [0,0,3,2]- , Xs [0,0,4,0,0]- , Xs [0,0,4,1]- , Xs [0,0,5,0]- , Xs [0,1,0,0,0,0,0,0,0]- , Xs [0,1,0,0,0,0,0,1]- , Xs [0,1,0,0,0,0,1,0]- , Xs [0,1,0,0,0,0,2]- , Xs [0,1,0,0,0,1,0,0]- , Xs [0,1,0,0,0,1,1]- , Xs [0,1,0,0,0,2,0]- , Xs [0,1,0,0,0,6]- , Xs [0,1,0,0,1,0,0,0]- , Xs [0,1,0,0,1,0,1]- , Xs [0,1,0,0,1,1,0]- , Xs [0,1,0,0,1,2]- , Xs [0,1,0,0,2,0,0]- , Xs [0,1,0,0,2,1]- , Xs [0,1,0,0,6,0]- , Xs [0,1,0,0,3]- , Xs [0,1,0,1,0,0,0,0]- , Xs [0,1,0,1,0,0,1]- , Xs [0,1,0,1,0,1,0]- , Xs [0,1,0,1,0,2]- , Xs [0,1,0,1,1,0,0]- , Xs [0,1,0,1,1,1]- , Xs [0,1,0,1,2,0]- , Xs [0,1,0,1,6]- , Xs [0,1,0,2,0,0,0]- , Xs [0,1,0,2,0,1]- , Xs [0,1,0,2,1,0]- , Xs [0,1,0,2,2]- , Xs [0,1,0,6,0,0]- , Xs [0,1,0,6,1]- , Xs [0,1,0,3,0]- , Xs [0,1,0,4]- , Xs [0,1,1,0,0,0,0,0]- , Xs [0,1,1,0,0,0,1]- , Xs [0,1,1,0,0,1,0]- , Xs [0,1,1,0,0,2]- , Xs [0,1,1,0,1,0,0]- , Xs [0,1,1,0,1,1]- , Xs [0,1,1,0,2,0]- , Xs [0,1,1,0,6]- , Xs [0,1,1,1,0,0,0]- , Xs [0,1,1,1,0,1]- , Xs [0,1,1,1,1,0]- , Xs [0,1,1,1,2]- , Xs [0,1,1,2,0,0]- , Xs [0,1,1,2,1]- , Xs [0,1,1,6,0]- , Xs [0,1,1,3]- , Xs [0,1,2,0,0,0,0]- , Xs [0,1,2,0,0,1]- , Xs [0,1,2,0,1,0]- , Xs [0,1,2,0,2]- , Xs [0,1,2,1,0,0]- , Xs [0,1,2,1,1]- , Xs [0,1,2,2,0]- , Xs [0,1,2,6]- , Xs [0,1,6,0,0,0]- , Xs [0,1,6,0,1]- , Xs [0,1,6,1,0]- , Xs [0,1,6,2]- , Xs [0,1,3,0,0]- , Xs [0,1,3,1]- , Xs [0,1,4,0]- , Xs [0,1,5]- , Xs [0,2,0,0,0,0,0,0]- , Xs [0,2,0,0,0,0,1]- , Xs [0,2,0,0,0,1,0]- , Xs [0,2,0,0,0,2]- , Xs [0,2,0,0,1,0,0]- , Xs [0,2,0,0,1,1]- , Xs [0,2,0,0,2,0]- , Xs [0,2,0,0,6]- , Xs [0,2,0,1,0,0,0]- , Xs [0,2,0,1,0,1]- , Xs [0,2,0,1,1,0]- , Xs [0,2,0,1,2]- , Xs [0,2,0,2,0,0]- , Xs [0,2,0,2,1]- , Xs [0,2,0,6,0]- , Xs [0,2,0,3]- , Xs [0,2,1,0,0,0,0]- , Xs [0,2,1,0,0,1]- , Xs [0,2,1,0,1,0]- , Xs [0,2,1,0,2]- , Xs [0,2,1,1,0,0]- , Xs [0,2,1,1,1]- , Xs [0,2,1,2,0]- , Xs [0,2,1,6]- , Xs [0,2,2,0,0,0]- , Xs [0,2,2,0,1]- , Xs [0,2,2,1,0]- , Xs [0,2,2,2]- , Xs [0,2,6,0,0]- , Xs [0,2,6,1]- , Xs [0,2,3,0]- , Xs [0,2,4]- , Xs [0,6,0,0,0,0,0]- , Xs [0,6,0,0,0,1]- , Xs [0,6,0,0,1,0]- , Xs [0,6,0,0,2]- , Xs [0,6,0,1,0,0]- , Xs [0,6,0,1,1]- , Xs [0,6,0,2,0]- , Xs [0,6,0,6]- , Xs [0,6,1,0,0,0]- , Xs [0,6,1,0,1]- , Xs [0,6,1,1,0]- , Xs [0,6,1,2]- , Xs [0,6,2,0,0]- , Xs [0,6,2,1]- , Xs [0,6,6,0]- , Xs [0,6,3]- , Xs [0,3,0,0,0,0]- , Xs [0,3,0,0,1]- , Xs [0,3,0,1,0]- , Xs [0,3,0,2]- , Xs [0,3,1,0,0]- , Xs [0,3,1,1]- , Xs [0,3,2,0]- , Xs [0,3,6]- , Xs [0,4,0,0,0]- , Xs [0,4,0,1]- , Xs [0,4,1,0]- , Xs [0,4,2]- , Xs [0,5,0,0]- , Xs [0,5,1]- , Xs [1,0,0,0,0,0,0,0,0]- , Xs [1,0,0,0,0,0,0,1]- , Xs [1,0,0,0,0,0,1,0]- , Xs [1,0,0,0,0,0,2]- , Xs [1,0,0,0,0,1,0,0]- , Xs [1,0,0,0,0,1,1]- , Xs [1,0,0,0,0,2,0]- , Xs [1,0,0,0,0,6]- , Xs [1,0,0,0,1,0,0,0]- , Xs [1,0,0,0,1,0,1]- , Xs [1,0,0,0,1,1,0]- , Xs [1,0,0,0,1,2]- , Xs [1,0,0,0,2,0,0]- , Xs [1,0,0,0,2,1]- , Xs [1,0,0,0,6,0]- , Xs [1,0,0,0,3]- , Xs [1,0,0,1,0,0,0,0]- , Xs [1,0,0,1,0,0,1]- , Xs [1,0,0,1,0,1,0]- , Xs [1,0,0,1,0,2]- , Xs [1,0,0,1,1,0,0]- , Xs [1,0,0,1,1,1]- , Xs [1,0,0,1,2,0]- , Xs [1,0,0,1,6]- , Xs [1,0,0,2,0,0,0]- , Xs [1,0,0,2,0,1]- , Xs [1,0,0,2,1,0]- , Xs [1,0,0,2,2]- , Xs [1,0,0,6,0,0]- , Xs [1,0,0,6,1]- , Xs [1,0,0,3,0]- , Xs [1,0,0,4]- , Xs [1,0,1,0,0,0,0,0]- , Xs [1,0,1,0,0,0,1]- , Xs [1,0,1,0,0,1,0]- , Xs [1,0,1,0,0,2]- , Xs [1,0,1,0,1,0,0]- , Xs [1,0,1,0,1,1]- , Xs [1,0,1,0,2,0]- , Xs [1,0,1,0,6]- , Xs [1,0,1,1,0,0,0]- , Xs [1,0,1,1,0,1]- , Xs [1,0,1,1,1,0]- , Xs [1,0,1,1,2]- , Xs [1,0,1,2,0,0]- , Xs [1,0,1,2,1]- , Xs [1,0,1,6,0]- , Xs [1,0,1,3]- , Xs [1,0,2,0,0,0,0]- , Xs [1,0,2,0,0,1]- , Xs [1,0,2,0,1,0]- , Xs [1,0,2,0,2]- , Xs [1,0,2,1,0,0]- , Xs [1,0,2,1,1]- , Xs [1,0,2,2,0]- , Xs [1,0,2,6]- , Xs [1,0,6,0,0,0]- , Xs [1,0,6,0,1]- , Xs [1,0,6,1,0]- , Xs [1,0,6,2]- , Xs [1,0,3,0,0]- , Xs [1,0,3,1]- , Xs [1,0,4,0]- , Xs [1,0,5]- , Xs [1,1,0,0,0,0,0,0]- , Xs [1,1,0,0,0,0,1]- , Xs [1,1,0,0,0,1,0]- , Xs [1,1,0,0,0,2]- , Xs [1,1,0,0,1,0,0]- , Xs [1,1,0,0,1,1]- , Xs [1,1,0,0,2,0]- , Xs [1,1,0,0,6]- , Xs [1,1,0,1,0,0,0]- , Xs [1,1,0,1,0,1]- , Xs [1,1,0,1,1,0]- , Xs [1,1,0,1,2]- , Xs [1,1,0,2,0,0]- , Xs [1,1,0,2,1]- , Xs [1,1,0,6,0]- , Xs [1,1,0,3]- , Xs [1,1,1,0,0,0,0]- , Xs [1,1,1,0,0,1]- , Xs [1,1,1,0,1,0]- , Xs [1,1,1,0,2]- , Xs [1,1,1,1,0,0]- , Xs [1,1,1,1,1]- , Xs [1,1,1,2,0]- , Xs [1,1,1,6]- , Xs [1,1,2,0,0,0]- , Xs [1,1,2,0,1]- , Xs [1,1,2,1,0]- , Xs [1,1,2,2]- , Xs [1,1,6,0,0]- , Xs [1,1,6,1]- , Xs [1,1,3,0]- , Xs [1,1,4]- , Xs [1,2,0,0,0,0,0]- , Xs [1,2,0,0,0,1]- , Xs [1,2,0,0,1,0]- , Xs [1,2,0,0,2]- , Xs [1,2,0,1,0,0]- , Xs [1,2,0,1,1]- , Xs [1,2,0,2,0]- , Xs [1,2,0,6]- , Xs [1,2,1,0,0,0]- , Xs [1,2,1,0,1]- , Xs [1,2,1,1,0]- , Xs [1,2,1,2]- , Xs [1,2,2,0,0]- , Xs [1,2,2,1]- , Xs [1,2,6,0]- , Xs [1,2,3]- , Xs [1,6,0,0,0,0]- , Xs [1,6,0,0,1]- , Xs [1,6,0,1,0]- , Xs [1,6,0,2]- , Xs [1,6,1,0,0]- , Xs [1,6,1,1]- , Xs [1,6,2,0]- , Xs [1,6,6]- , Xs [1,3,0,0,0]- , Xs [1,3,0,1]- , Xs [1,3,1,0]- , Xs [1,3,2]- , Xs [1,4,0,0]- , Xs [1,4,1]- , Xs [1,5,0]- , Xs [2,0,0,0,0,0,0,0]- , Xs [2,0,0,0,0,0,1]- , Xs [2,0,0,0,0,1,0]- , Xs [2,0,0,0,0,2]- , Xs [2,0,0,0,1,0,0]- , Xs [2,0,0,0,1,1]- , Xs [2,0,0,0,2,0]- , Xs [2,0,0,0,6]- , Xs [2,0,0,1,0,0,0]- , Xs [2,0,0,1,0,1]- , Xs [2,0,0,1,1,0]- , Xs [2,0,0,1,2]- , Xs [2,0,0,2,0,0]- , Xs [2,0,0,2,1]- , Xs [2,0,0,6,0]- , Xs [2,0,0,3]- , Xs [2,0,1,0,0,0,0]- , Xs [2,0,1,0,0,1]- , Xs [2,0,1,0,1,0]- , Xs [2,0,1,0,2]- , Xs [2,0,1,1,0,0]- , Xs [2,0,1,1,1]- , Xs [2,0,1,2,0]- , Xs [2,0,1,6]- , Xs [2,0,2,0,0,0]- , Xs [2,0,2,0,1]- , Xs [2,0,2,1,0]- , Xs [2,0,2,2]- , Xs [2,0,6,0,0]- , Xs [2,0,6,1]- , Xs [2,0,3,0]- , Xs [2,0,4]- , Xs [2,1,0,0,0,0,0]- , Xs [2,1,0,0,0,1]- , Xs [2,1,0,0,1,0]- , Xs [2,1,0,0,2]- , Xs [2,1,0,1,0,0]- , Xs [2,1,0,1,1]- , Xs [2,1,0,2,0]- , Xs [2,1,0,6]- , Xs [2,1,1,0,0,0]- , Xs [2,1,1,0,1]- , Xs [2,1,1,1,0]- , Xs [2,1,1,2]- , Xs [2,1,2,0,0]- , Xs [2,1,2,1]- , Xs [2,1,6,0]- , Xs [2,1,3]- , Xs [2,2,0,0,0,0]- , Xs [2,2,0,0,1]- , Xs [2,2,0,1,0]- , Xs [2,2,0,2]- , Xs [2,2,1,0,0]- , Xs [2,2,1,1]- , Xs [2,2,2,0]- , Xs [2,2,6]- , Xs [2,6,0,0,0]- , Xs [2,6,0,1]- , Xs [2,6,1,0]- , Xs [2,6,2]- , Xs [2,3,0,0]- , Xs [2,3,1]- , Xs [2,4,0]- , Xs [2,5]- , Xs [6,0,0,0,0,0,0]- , Xs [6,0,0,0,0,1]- , Xs [6,0,0,0,1,0]- , Xs [6,0,0,0,2]- , Xs [6,0,0,1,0,0]- , Xs [6,0,0,1,1]- , Xs [6,0,0,2,0]- , Xs [6,0,0,6]- , Xs [6,0,1,0,0,0]- , Xs [6,0,1,0,1]- , Xs [6,0,1,1,0]- , Xs [6,0,1,2]- , Xs [6,0,2,0,0]- , Xs [6,0,2,1]- , Xs [6,0,6,0]- , Xs [6,0,3]- , Xs [6,1,0,0,0,0]- , Xs [6,1,0,0,1]- , Xs [6,1,0,1,0]- , Xs [6,1,0,2]- , Xs [6,1,1,0,0]- , Xs [6,1,1,1]- , Xs [6,1,2,0]- , Xs [6,1,6]- , Xs [6,2,0,0,0]- , Xs [6,2,0,1]- , Xs [6,2,1,0]- , Xs [6,2,2]- , Xs [6,6,0,0]- , Xs [6,6,1]- , Xs [6,3,0]- , Xs [6,4]- , Xs [3,0,0,0,0,0]- , Xs [3,0,0,0,1]- , Xs [3,0,0,1,0]- , Xs [3,0,0,2]- , Xs [3,0,1,0,0]- , Xs [3,0,1,1]- , Xs [3,0,2,0]- , Xs [3,0,6]- , Xs [3,1,0,0,0]- , Xs [3,1,0,1]- , Xs [3,1,1,0]- , Xs [3,1,2]- , Xs [3,2,0,0]- , Xs [3,2,1]- , Xs [3,6,0]- , Xs [3,3]- , Xs [4,0,0,0,0]- , Xs [4,0,0,1]- , Xs [4,0,1,0]- , Xs [4,0,2]- , Xs [4,1,0,0]- , Xs [4,1,1]- , Xs [4,2,0]- , Xs [4,6]- , Xs [5,0,0,0]- , Xs [5,0,1]- , Xs [5,1,0]- , Xs [5,2]- ]- , ...- ]
− tests/diff/tiers-XsWord4.out
@@ -1,1045 +0,0 @@-map length (tiers :: [[ Xs Word4 ]]) = [0,1,1,2,4,8,16,32,64,128,256,512,...]--length (list :: [ Xs Word4 ]) = Infinity--allUnique (list :: [ Xs Word4 ]) = True--ratioRepetitions (list :: [ Xs Word4 ]) = 0 % 1--tiers :: [Xs Word4] =- [ []- , [Xs []]- , [Xs [0]]- , [ Xs [0,0]- , Xs [1]- ]- , [ Xs [0,0,0]- , Xs [0,1]- , Xs [1,0]- , Xs [2]- ]- , [ Xs [0,0,0,0]- , Xs [0,0,1]- , Xs [0,1,0]- , Xs [0,2]- , Xs [1,0,0]- , Xs [1,1]- , Xs [2,0]- , Xs [15]- ]- , [ Xs [0,0,0,0,0]- , Xs [0,0,0,1]- , Xs [0,0,1,0]- , Xs [0,0,2]- , Xs [0,1,0,0]- , Xs [0,1,1]- , Xs [0,2,0]- , Xs [0,15]- , Xs [1,0,0,0]- , Xs [1,0,1]- , Xs [1,1,0]- , Xs [1,2]- , Xs [2,0,0]- , Xs [2,1]- , Xs [15,0]- , Xs [3]- ]- , [ Xs [0,0,0,0,0,0]- , Xs [0,0,0,0,1]- , Xs [0,0,0,1,0]- , Xs [0,0,0,2]- , Xs [0,0,1,0,0]- , Xs [0,0,1,1]- , Xs [0,0,2,0]- , Xs [0,0,15]- , Xs [0,1,0,0,0]- , Xs [0,1,0,1]- , Xs [0,1,1,0]- , Xs [0,1,2]- , Xs [0,2,0,0]- , Xs [0,2,1]- , Xs [0,15,0]- , Xs [0,3]- , Xs [1,0,0,0,0]- , Xs [1,0,0,1]- , Xs [1,0,1,0]- , Xs [1,0,2]- , Xs [1,1,0,0]- , Xs [1,1,1]- , Xs [1,2,0]- , Xs [1,15]- , Xs [2,0,0,0]- , Xs [2,0,1]- , Xs [2,1,0]- , Xs [2,2]- , Xs [15,0,0]- , Xs [15,1]- , Xs [3,0]- , Xs [4]- ]- , [ Xs [0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,1]- , Xs [0,0,0,0,1,0]- , Xs [0,0,0,0,2]- , Xs [0,0,0,1,0,0]- , Xs [0,0,0,1,1]- , Xs [0,0,0,2,0]- , Xs [0,0,0,15]- , Xs [0,0,1,0,0,0]- , Xs [0,0,1,0,1]- , Xs [0,0,1,1,0]- , Xs [0,0,1,2]- , Xs [0,0,2,0,0]- , Xs [0,0,2,1]- , Xs [0,0,15,0]- , Xs [0,0,3]- , Xs [0,1,0,0,0,0]- , Xs [0,1,0,0,1]- , Xs [0,1,0,1,0]- , Xs [0,1,0,2]- , Xs [0,1,1,0,0]- , Xs [0,1,1,1]- , Xs [0,1,2,0]- , Xs [0,1,15]- , Xs [0,2,0,0,0]- , Xs [0,2,0,1]- , Xs [0,2,1,0]- , Xs [0,2,2]- , Xs [0,15,0,0]- , Xs [0,15,1]- , Xs [0,3,0]- , Xs [0,4]- , Xs [1,0,0,0,0,0]- , Xs [1,0,0,0,1]- , Xs [1,0,0,1,0]- , Xs [1,0,0,2]- , Xs [1,0,1,0,0]- , Xs [1,0,1,1]- , Xs [1,0,2,0]- , Xs [1,0,15]- , Xs [1,1,0,0,0]- , Xs [1,1,0,1]- , Xs [1,1,1,0]- , Xs [1,1,2]- , Xs [1,2,0,0]- , Xs [1,2,1]- , Xs [1,15,0]- , Xs [1,3]- , Xs [2,0,0,0,0]- , Xs [2,0,0,1]- , Xs [2,0,1,0]- , Xs [2,0,2]- , Xs [2,1,0,0]- , Xs [2,1,1]- , Xs [2,2,0]- , Xs [2,15]- , Xs [15,0,0,0]- , Xs [15,0,1]- , Xs [15,1,0]- , Xs [15,2]- , Xs [3,0,0]- , Xs [3,1]- , Xs [4,0]- , Xs [14]- ]- , [ Xs [0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,2]- , Xs [0,0,0,0,1,0,0]- , Xs [0,0,0,0,1,1]- , Xs [0,0,0,0,2,0]- , Xs [0,0,0,0,15]- , Xs [0,0,0,1,0,0,0]- , Xs [0,0,0,1,0,1]- , Xs [0,0,0,1,1,0]- , Xs [0,0,0,1,2]- , Xs [0,0,0,2,0,0]- , Xs [0,0,0,2,1]- , Xs [0,0,0,15,0]- , Xs [0,0,0,3]- , Xs [0,0,1,0,0,0,0]- , Xs [0,0,1,0,0,1]- , Xs [0,0,1,0,1,0]- , Xs [0,0,1,0,2]- , Xs [0,0,1,1,0,0]- , Xs [0,0,1,1,1]- , Xs [0,0,1,2,0]- , Xs [0,0,1,15]- , Xs [0,0,2,0,0,0]- , Xs [0,0,2,0,1]- , Xs [0,0,2,1,0]- , Xs [0,0,2,2]- , Xs [0,0,15,0,0]- , Xs [0,0,15,1]- , Xs [0,0,3,0]- , Xs [0,0,4]- , Xs [0,1,0,0,0,0,0]- , Xs [0,1,0,0,0,1]- , Xs [0,1,0,0,1,0]- , Xs [0,1,0,0,2]- , Xs [0,1,0,1,0,0]- , Xs [0,1,0,1,1]- , Xs [0,1,0,2,0]- , Xs [0,1,0,15]- , Xs [0,1,1,0,0,0]- , Xs [0,1,1,0,1]- , Xs [0,1,1,1,0]- , Xs [0,1,1,2]- , Xs [0,1,2,0,0]- , Xs [0,1,2,1]- , Xs [0,1,15,0]- , Xs [0,1,3]- , Xs [0,2,0,0,0,0]- , Xs [0,2,0,0,1]- , Xs [0,2,0,1,0]- , Xs [0,2,0,2]- , Xs [0,2,1,0,0]- , Xs [0,2,1,1]- , Xs [0,2,2,0]- , Xs [0,2,15]- , Xs [0,15,0,0,0]- , Xs [0,15,0,1]- , Xs [0,15,1,0]- , Xs [0,15,2]- , Xs [0,3,0,0]- , Xs [0,3,1]- , Xs [0,4,0]- , Xs [0,14]- , Xs [1,0,0,0,0,0,0]- , Xs [1,0,0,0,0,1]- , Xs [1,0,0,0,1,0]- , Xs [1,0,0,0,2]- , Xs [1,0,0,1,0,0]- , Xs [1,0,0,1,1]- , Xs [1,0,0,2,0]- , Xs [1,0,0,15]- , Xs [1,0,1,0,0,0]- , Xs [1,0,1,0,1]- , Xs [1,0,1,1,0]- , Xs [1,0,1,2]- , Xs [1,0,2,0,0]- , Xs [1,0,2,1]- , Xs [1,0,15,0]- , Xs [1,0,3]- , Xs [1,1,0,0,0,0]- , Xs [1,1,0,0,1]- , Xs [1,1,0,1,0]- , Xs [1,1,0,2]- , Xs [1,1,1,0,0]- , Xs [1,1,1,1]- , Xs [1,1,2,0]- , Xs [1,1,15]- , Xs [1,2,0,0,0]- , Xs [1,2,0,1]- , Xs [1,2,1,0]- , Xs [1,2,2]- , Xs [1,15,0,0]- , Xs [1,15,1]- , Xs [1,3,0]- , Xs [1,4]- , Xs [2,0,0,0,0,0]- , Xs [2,0,0,0,1]- , Xs [2,0,0,1,0]- , Xs [2,0,0,2]- , Xs [2,0,1,0,0]- , Xs [2,0,1,1]- , Xs [2,0,2,0]- , Xs [2,0,15]- , Xs [2,1,0,0,0]- , Xs [2,1,0,1]- , Xs [2,1,1,0]- , Xs [2,1,2]- , Xs [2,2,0,0]- , Xs [2,2,1]- , Xs [2,15,0]- , Xs [2,3]- , Xs [15,0,0,0,0]- , Xs [15,0,0,1]- , Xs [15,0,1,0]- , Xs [15,0,2]- , Xs [15,1,0,0]- , Xs [15,1,1]- , Xs [15,2,0]- , Xs [15,15]- , Xs [3,0,0,0]- , Xs [3,0,1]- , Xs [3,1,0]- , Xs [3,2]- , Xs [4,0,0]- , Xs [4,1]- , Xs [14,0]- , Xs [5]- ]- , [ Xs [0,0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,0,2]- , Xs [0,0,0,0,0,1,0,0]- , Xs [0,0,0,0,0,1,1]- , Xs [0,0,0,0,0,2,0]- , Xs [0,0,0,0,0,15]- , Xs [0,0,0,0,1,0,0,0]- , Xs [0,0,0,0,1,0,1]- , Xs [0,0,0,0,1,1,0]- , Xs [0,0,0,0,1,2]- , Xs [0,0,0,0,2,0,0]- , Xs [0,0,0,0,2,1]- , Xs [0,0,0,0,15,0]- , Xs [0,0,0,0,3]- , Xs [0,0,0,1,0,0,0,0]- , Xs [0,0,0,1,0,0,1]- , Xs [0,0,0,1,0,1,0]- , Xs [0,0,0,1,0,2]- , Xs [0,0,0,1,1,0,0]- , Xs [0,0,0,1,1,1]- , Xs [0,0,0,1,2,0]- , Xs [0,0,0,1,15]- , Xs [0,0,0,2,0,0,0]- , Xs [0,0,0,2,0,1]- , Xs [0,0,0,2,1,0]- , Xs [0,0,0,2,2]- , Xs [0,0,0,15,0,0]- , Xs [0,0,0,15,1]- , Xs [0,0,0,3,0]- , Xs [0,0,0,4]- , Xs [0,0,1,0,0,0,0,0]- , Xs [0,0,1,0,0,0,1]- , Xs [0,0,1,0,0,1,0]- , Xs [0,0,1,0,0,2]- , Xs [0,0,1,0,1,0,0]- , Xs [0,0,1,0,1,1]- , Xs [0,0,1,0,2,0]- , Xs [0,0,1,0,15]- , Xs [0,0,1,1,0,0,0]- , Xs [0,0,1,1,0,1]- , Xs [0,0,1,1,1,0]- , Xs [0,0,1,1,2]- , Xs [0,0,1,2,0,0]- , Xs [0,0,1,2,1]- , Xs [0,0,1,15,0]- , Xs [0,0,1,3]- , Xs [0,0,2,0,0,0,0]- , Xs [0,0,2,0,0,1]- , Xs [0,0,2,0,1,0]- , Xs [0,0,2,0,2]- , Xs [0,0,2,1,0,0]- , Xs [0,0,2,1,1]- , Xs [0,0,2,2,0]- , Xs [0,0,2,15]- , Xs [0,0,15,0,0,0]- , Xs [0,0,15,0,1]- , Xs [0,0,15,1,0]- , Xs [0,0,15,2]- , Xs [0,0,3,0,0]- , Xs [0,0,3,1]- , Xs [0,0,4,0]- , Xs [0,0,14]- , Xs [0,1,0,0,0,0,0,0]- , Xs [0,1,0,0,0,0,1]- , Xs [0,1,0,0,0,1,0]- , Xs [0,1,0,0,0,2]- , Xs [0,1,0,0,1,0,0]- , Xs [0,1,0,0,1,1]- , Xs [0,1,0,0,2,0]- , Xs [0,1,0,0,15]- , Xs [0,1,0,1,0,0,0]- , Xs [0,1,0,1,0,1]- , Xs [0,1,0,1,1,0]- , Xs [0,1,0,1,2]- , Xs [0,1,0,2,0,0]- , Xs [0,1,0,2,1]- , Xs [0,1,0,15,0]- , Xs [0,1,0,3]- , Xs [0,1,1,0,0,0,0]- , Xs [0,1,1,0,0,1]- , Xs [0,1,1,0,1,0]- , Xs [0,1,1,0,2]- , Xs [0,1,1,1,0,0]- , Xs [0,1,1,1,1]- , Xs [0,1,1,2,0]- , Xs [0,1,1,15]- , Xs [0,1,2,0,0,0]- , Xs [0,1,2,0,1]- , Xs [0,1,2,1,0]- , Xs [0,1,2,2]- , Xs [0,1,15,0,0]- , Xs [0,1,15,1]- , Xs [0,1,3,0]- , Xs [0,1,4]- , Xs [0,2,0,0,0,0,0]- , Xs [0,2,0,0,0,1]- , Xs [0,2,0,0,1,0]- , Xs [0,2,0,0,2]- , Xs [0,2,0,1,0,0]- , Xs [0,2,0,1,1]- , Xs [0,2,0,2,0]- , Xs [0,2,0,15]- , Xs [0,2,1,0,0,0]- , Xs [0,2,1,0,1]- , Xs [0,2,1,1,0]- , Xs [0,2,1,2]- , Xs [0,2,2,0,0]- , Xs [0,2,2,1]- , Xs [0,2,15,0]- , Xs [0,2,3]- , Xs [0,15,0,0,0,0]- , Xs [0,15,0,0,1]- , Xs [0,15,0,1,0]- , Xs [0,15,0,2]- , Xs [0,15,1,0,0]- , Xs [0,15,1,1]- , Xs [0,15,2,0]- , Xs [0,15,15]- , Xs [0,3,0,0,0]- , Xs [0,3,0,1]- , Xs [0,3,1,0]- , Xs [0,3,2]- , Xs [0,4,0,0]- , Xs [0,4,1]- , Xs [0,14,0]- , Xs [0,5]- , Xs [1,0,0,0,0,0,0,0]- , Xs [1,0,0,0,0,0,1]- , Xs [1,0,0,0,0,1,0]- , Xs [1,0,0,0,0,2]- , Xs [1,0,0,0,1,0,0]- , Xs [1,0,0,0,1,1]- , Xs [1,0,0,0,2,0]- , Xs [1,0,0,0,15]- , Xs [1,0,0,1,0,0,0]- , Xs [1,0,0,1,0,1]- , Xs [1,0,0,1,1,0]- , Xs [1,0,0,1,2]- , Xs [1,0,0,2,0,0]- , Xs [1,0,0,2,1]- , Xs [1,0,0,15,0]- , Xs [1,0,0,3]- , Xs [1,0,1,0,0,0,0]- , Xs [1,0,1,0,0,1]- , Xs [1,0,1,0,1,0]- , Xs [1,0,1,0,2]- , Xs [1,0,1,1,0,0]- , Xs [1,0,1,1,1]- , Xs [1,0,1,2,0]- , Xs [1,0,1,15]- , Xs [1,0,2,0,0,0]- , Xs [1,0,2,0,1]- , Xs [1,0,2,1,0]- , Xs [1,0,2,2]- , Xs [1,0,15,0,0]- , Xs [1,0,15,1]- , Xs [1,0,3,0]- , Xs [1,0,4]- , Xs [1,1,0,0,0,0,0]- , Xs [1,1,0,0,0,1]- , Xs [1,1,0,0,1,0]- , Xs [1,1,0,0,2]- , Xs [1,1,0,1,0,0]- , Xs [1,1,0,1,1]- , Xs [1,1,0,2,0]- , Xs [1,1,0,15]- , Xs [1,1,1,0,0,0]- , Xs [1,1,1,0,1]- , Xs [1,1,1,1,0]- , Xs [1,1,1,2]- , Xs [1,1,2,0,0]- , Xs [1,1,2,1]- , Xs [1,1,15,0]- , Xs [1,1,3]- , Xs [1,2,0,0,0,0]- , Xs [1,2,0,0,1]- , Xs [1,2,0,1,0]- , Xs [1,2,0,2]- , Xs [1,2,1,0,0]- , Xs [1,2,1,1]- , Xs [1,2,2,0]- , Xs [1,2,15]- , Xs [1,15,0,0,0]- , Xs [1,15,0,1]- , Xs [1,15,1,0]- , Xs [1,15,2]- , Xs [1,3,0,0]- , Xs [1,3,1]- , Xs [1,4,0]- , Xs [1,14]- , Xs [2,0,0,0,0,0,0]- , Xs [2,0,0,0,0,1]- , Xs [2,0,0,0,1,0]- , Xs [2,0,0,0,2]- , Xs [2,0,0,1,0,0]- , Xs [2,0,0,1,1]- , Xs [2,0,0,2,0]- , Xs [2,0,0,15]- , Xs [2,0,1,0,0,0]- , Xs [2,0,1,0,1]- , Xs [2,0,1,1,0]- , Xs [2,0,1,2]- , Xs [2,0,2,0,0]- , Xs [2,0,2,1]- , Xs [2,0,15,0]- , Xs [2,0,3]- , Xs [2,1,0,0,0,0]- , Xs [2,1,0,0,1]- , Xs [2,1,0,1,0]- , Xs [2,1,0,2]- , Xs [2,1,1,0,0]- , Xs [2,1,1,1]- , Xs [2,1,2,0]- , Xs [2,1,15]- , Xs [2,2,0,0,0]- , Xs [2,2,0,1]- , Xs [2,2,1,0]- , Xs [2,2,2]- , Xs [2,15,0,0]- , Xs [2,15,1]- , Xs [2,3,0]- , Xs [2,4]- , Xs [15,0,0,0,0,0]- , Xs [15,0,0,0,1]- , Xs [15,0,0,1,0]- , Xs [15,0,0,2]- , Xs [15,0,1,0,0]- , Xs [15,0,1,1]- , Xs [15,0,2,0]- , Xs [15,0,15]- , Xs [15,1,0,0,0]- , Xs [15,1,0,1]- , Xs [15,1,1,0]- , Xs [15,1,2]- , Xs [15,2,0,0]- , Xs [15,2,1]- , Xs [15,15,0]- , Xs [15,3]- , Xs [3,0,0,0,0]- , Xs [3,0,0,1]- , Xs [3,0,1,0]- , Xs [3,0,2]- , Xs [3,1,0,0]- , Xs [3,1,1]- , Xs [3,2,0]- , Xs [3,15]- , Xs [4,0,0,0]- , Xs [4,0,1]- , Xs [4,1,0]- , Xs [4,2]- , Xs [14,0,0]- , Xs [14,1]- , Xs [5,0]- , Xs [6]- ]- , [ Xs [0,0,0,0,0,0,0,0,0,0]- , Xs [0,0,0,0,0,0,0,0,1]- , Xs [0,0,0,0,0,0,0,1,0]- , Xs [0,0,0,0,0,0,0,2]- , Xs [0,0,0,0,0,0,1,0,0]- , Xs [0,0,0,0,0,0,1,1]- , Xs [0,0,0,0,0,0,2,0]- , Xs [0,0,0,0,0,0,15]- , Xs [0,0,0,0,0,1,0,0,0]- , Xs [0,0,0,0,0,1,0,1]- , Xs [0,0,0,0,0,1,1,0]- , Xs [0,0,0,0,0,1,2]- , Xs [0,0,0,0,0,2,0,0]- , Xs [0,0,0,0,0,2,1]- , Xs [0,0,0,0,0,15,0]- , Xs [0,0,0,0,0,3]- , Xs [0,0,0,0,1,0,0,0,0]- , Xs [0,0,0,0,1,0,0,1]- , Xs [0,0,0,0,1,0,1,0]- , Xs [0,0,0,0,1,0,2]- , Xs [0,0,0,0,1,1,0,0]- , Xs [0,0,0,0,1,1,1]- , Xs [0,0,0,0,1,2,0]- , Xs [0,0,0,0,1,15]- , Xs [0,0,0,0,2,0,0,0]- , Xs [0,0,0,0,2,0,1]- , Xs [0,0,0,0,2,1,0]- , Xs [0,0,0,0,2,2]- , Xs [0,0,0,0,15,0,0]- , Xs [0,0,0,0,15,1]- , Xs [0,0,0,0,3,0]- , Xs [0,0,0,0,4]- , Xs [0,0,0,1,0,0,0,0,0]- , Xs [0,0,0,1,0,0,0,1]- , Xs [0,0,0,1,0,0,1,0]- , Xs [0,0,0,1,0,0,2]- , Xs [0,0,0,1,0,1,0,0]- , Xs [0,0,0,1,0,1,1]- , Xs [0,0,0,1,0,2,0]- , Xs [0,0,0,1,0,15]- , Xs [0,0,0,1,1,0,0,0]- , Xs [0,0,0,1,1,0,1]- , Xs [0,0,0,1,1,1,0]- , Xs [0,0,0,1,1,2]- , Xs [0,0,0,1,2,0,0]- , Xs [0,0,0,1,2,1]- , Xs [0,0,0,1,15,0]- , Xs [0,0,0,1,3]- , Xs [0,0,0,2,0,0,0,0]- , Xs [0,0,0,2,0,0,1]- , Xs [0,0,0,2,0,1,0]- , Xs [0,0,0,2,0,2]- , Xs [0,0,0,2,1,0,0]- , Xs [0,0,0,2,1,1]- , Xs [0,0,0,2,2,0]- , Xs [0,0,0,2,15]- , Xs [0,0,0,15,0,0,0]- , Xs [0,0,0,15,0,1]- , Xs [0,0,0,15,1,0]- , Xs [0,0,0,15,2]- , Xs [0,0,0,3,0,0]- , Xs [0,0,0,3,1]- , Xs [0,0,0,4,0]- , Xs [0,0,0,14]- , Xs [0,0,1,0,0,0,0,0,0]- , Xs [0,0,1,0,0,0,0,1]- , Xs [0,0,1,0,0,0,1,0]- , Xs [0,0,1,0,0,0,2]- , Xs [0,0,1,0,0,1,0,0]- , Xs [0,0,1,0,0,1,1]- , Xs [0,0,1,0,0,2,0]- , Xs [0,0,1,0,0,15]- , Xs [0,0,1,0,1,0,0,0]- , Xs [0,0,1,0,1,0,1]- , Xs [0,0,1,0,1,1,0]- , Xs [0,0,1,0,1,2]- , Xs [0,0,1,0,2,0,0]- , Xs [0,0,1,0,2,1]- , Xs [0,0,1,0,15,0]- , Xs [0,0,1,0,3]- , Xs [0,0,1,1,0,0,0,0]- , Xs [0,0,1,1,0,0,1]- , Xs [0,0,1,1,0,1,0]- , Xs [0,0,1,1,0,2]- , Xs [0,0,1,1,1,0,0]- , Xs [0,0,1,1,1,1]- , Xs [0,0,1,1,2,0]- , Xs [0,0,1,1,15]- , Xs [0,0,1,2,0,0,0]- , Xs [0,0,1,2,0,1]- , Xs [0,0,1,2,1,0]- , Xs [0,0,1,2,2]- , Xs [0,0,1,15,0,0]- , Xs [0,0,1,15,1]- , Xs [0,0,1,3,0]- , Xs [0,0,1,4]- , Xs [0,0,2,0,0,0,0,0]- , Xs [0,0,2,0,0,0,1]- , Xs [0,0,2,0,0,1,0]- , Xs [0,0,2,0,0,2]- , Xs [0,0,2,0,1,0,0]- , Xs [0,0,2,0,1,1]- , Xs [0,0,2,0,2,0]- , Xs [0,0,2,0,15]- , Xs [0,0,2,1,0,0,0]- , Xs [0,0,2,1,0,1]- , Xs [0,0,2,1,1,0]- , Xs [0,0,2,1,2]- , Xs [0,0,2,2,0,0]- , Xs [0,0,2,2,1]- , Xs [0,0,2,15,0]- , Xs [0,0,2,3]- , Xs [0,0,15,0,0,0,0]- , Xs [0,0,15,0,0,1]- , Xs [0,0,15,0,1,0]- , Xs [0,0,15,0,2]- , Xs [0,0,15,1,0,0]- , Xs [0,0,15,1,1]- , Xs [0,0,15,2,0]- , Xs [0,0,15,15]- , Xs [0,0,3,0,0,0]- , Xs [0,0,3,0,1]- , Xs [0,0,3,1,0]- , Xs [0,0,3,2]- , Xs [0,0,4,0,0]- , Xs [0,0,4,1]- , Xs [0,0,14,0]- , Xs [0,0,5]- , Xs [0,1,0,0,0,0,0,0,0]- , Xs [0,1,0,0,0,0,0,1]- , Xs [0,1,0,0,0,0,1,0]- , Xs [0,1,0,0,0,0,2]- , Xs [0,1,0,0,0,1,0,0]- , Xs [0,1,0,0,0,1,1]- , Xs [0,1,0,0,0,2,0]- , Xs [0,1,0,0,0,15]- , Xs [0,1,0,0,1,0,0,0]- , Xs [0,1,0,0,1,0,1]- , Xs [0,1,0,0,1,1,0]- , Xs [0,1,0,0,1,2]- , Xs [0,1,0,0,2,0,0]- , Xs [0,1,0,0,2,1]- , Xs [0,1,0,0,15,0]- , Xs [0,1,0,0,3]- , Xs [0,1,0,1,0,0,0,0]- , Xs [0,1,0,1,0,0,1]- , Xs [0,1,0,1,0,1,0]- , Xs [0,1,0,1,0,2]- , Xs [0,1,0,1,1,0,0]- , Xs [0,1,0,1,1,1]- , Xs [0,1,0,1,2,0]- , Xs [0,1,0,1,15]- , Xs [0,1,0,2,0,0,0]- , Xs [0,1,0,2,0,1]- , Xs [0,1,0,2,1,0]- , Xs [0,1,0,2,2]- , Xs [0,1,0,15,0,0]- , Xs [0,1,0,15,1]- , Xs [0,1,0,3,0]- , Xs [0,1,0,4]- , Xs [0,1,1,0,0,0,0,0]- , Xs [0,1,1,0,0,0,1]- , Xs [0,1,1,0,0,1,0]- , Xs [0,1,1,0,0,2]- , Xs [0,1,1,0,1,0,0]- , Xs [0,1,1,0,1,1]- , Xs [0,1,1,0,2,0]- , Xs [0,1,1,0,15]- , Xs [0,1,1,1,0,0,0]- , Xs [0,1,1,1,0,1]- , Xs [0,1,1,1,1,0]- , Xs [0,1,1,1,2]- , Xs [0,1,1,2,0,0]- , Xs [0,1,1,2,1]- , Xs [0,1,1,15,0]- , Xs [0,1,1,3]- , Xs [0,1,2,0,0,0,0]- , Xs [0,1,2,0,0,1]- , Xs [0,1,2,0,1,0]- , Xs [0,1,2,0,2]- , Xs [0,1,2,1,0,0]- , Xs [0,1,2,1,1]- , Xs [0,1,2,2,0]- , Xs [0,1,2,15]- , Xs [0,1,15,0,0,0]- , Xs [0,1,15,0,1]- , Xs [0,1,15,1,0]- , Xs [0,1,15,2]- , Xs [0,1,3,0,0]- , Xs [0,1,3,1]- , Xs [0,1,4,0]- , Xs [0,1,14]- , Xs [0,2,0,0,0,0,0,0]- , Xs [0,2,0,0,0,0,1]- , Xs [0,2,0,0,0,1,0]- , Xs [0,2,0,0,0,2]- , Xs [0,2,0,0,1,0,0]- , Xs [0,2,0,0,1,1]- , Xs [0,2,0,0,2,0]- , Xs [0,2,0,0,15]- , Xs [0,2,0,1,0,0,0]- , Xs [0,2,0,1,0,1]- , Xs [0,2,0,1,1,0]- , Xs [0,2,0,1,2]- , Xs [0,2,0,2,0,0]- , Xs [0,2,0,2,1]- , Xs [0,2,0,15,0]- , Xs [0,2,0,3]- , Xs [0,2,1,0,0,0,0]- , Xs [0,2,1,0,0,1]- , Xs [0,2,1,0,1,0]- , Xs [0,2,1,0,2]- , Xs [0,2,1,1,0,0]- , Xs [0,2,1,1,1]- , Xs [0,2,1,2,0]- , Xs [0,2,1,15]- , Xs [0,2,2,0,0,0]- , Xs [0,2,2,0,1]- , Xs [0,2,2,1,0]- , Xs [0,2,2,2]- , Xs [0,2,15,0,0]- , Xs [0,2,15,1]- , Xs [0,2,3,0]- , Xs [0,2,4]- , Xs [0,15,0,0,0,0,0]- , Xs [0,15,0,0,0,1]- , Xs [0,15,0,0,1,0]- , Xs [0,15,0,0,2]- , Xs [0,15,0,1,0,0]- , Xs [0,15,0,1,1]- , Xs [0,15,0,2,0]- , Xs [0,15,0,15]- , Xs [0,15,1,0,0,0]- , Xs [0,15,1,0,1]- , Xs [0,15,1,1,0]- , Xs [0,15,1,2]- , Xs [0,15,2,0,0]- , Xs [0,15,2,1]- , Xs [0,15,15,0]- , Xs [0,15,3]- , Xs [0,3,0,0,0,0]- , Xs [0,3,0,0,1]- , Xs [0,3,0,1,0]- , Xs [0,3,0,2]- , Xs [0,3,1,0,0]- , Xs [0,3,1,1]- , Xs [0,3,2,0]- , Xs [0,3,15]- , Xs [0,4,0,0,0]- , Xs [0,4,0,1]- , Xs [0,4,1,0]- , Xs [0,4,2]- , Xs [0,14,0,0]- , Xs [0,14,1]- , Xs [0,5,0]- , Xs [0,6]- , Xs [1,0,0,0,0,0,0,0,0]- , Xs [1,0,0,0,0,0,0,1]- , Xs [1,0,0,0,0,0,1,0]- , Xs [1,0,0,0,0,0,2]- , Xs [1,0,0,0,0,1,0,0]- , Xs [1,0,0,0,0,1,1]- , Xs [1,0,0,0,0,2,0]- , Xs [1,0,0,0,0,15]- , Xs [1,0,0,0,1,0,0,0]- , Xs [1,0,0,0,1,0,1]- , Xs [1,0,0,0,1,1,0]- , Xs [1,0,0,0,1,2]- , Xs [1,0,0,0,2,0,0]- , Xs [1,0,0,0,2,1]- , Xs [1,0,0,0,15,0]- , Xs [1,0,0,0,3]- , Xs [1,0,0,1,0,0,0,0]- , Xs [1,0,0,1,0,0,1]- , Xs [1,0,0,1,0,1,0]- , Xs [1,0,0,1,0,2]- , Xs [1,0,0,1,1,0,0]- , Xs [1,0,0,1,1,1]- , Xs [1,0,0,1,2,0]- , Xs [1,0,0,1,15]- , Xs [1,0,0,2,0,0,0]- , Xs [1,0,0,2,0,1]- , Xs [1,0,0,2,1,0]- , Xs [1,0,0,2,2]- , Xs [1,0,0,15,0,0]- , Xs [1,0,0,15,1]- , Xs [1,0,0,3,0]- , Xs [1,0,0,4]- , Xs [1,0,1,0,0,0,0,0]- , Xs [1,0,1,0,0,0,1]- , Xs [1,0,1,0,0,1,0]- , Xs [1,0,1,0,0,2]- , Xs [1,0,1,0,1,0,0]- , Xs [1,0,1,0,1,1]- , Xs [1,0,1,0,2,0]- , Xs [1,0,1,0,15]- , Xs [1,0,1,1,0,0,0]- , Xs [1,0,1,1,0,1]- , Xs [1,0,1,1,1,0]- , Xs [1,0,1,1,2]- , Xs [1,0,1,2,0,0]- , Xs [1,0,1,2,1]- , Xs [1,0,1,15,0]- , Xs [1,0,1,3]- , Xs [1,0,2,0,0,0,0]- , Xs [1,0,2,0,0,1]- , Xs [1,0,2,0,1,0]- , Xs [1,0,2,0,2]- , Xs [1,0,2,1,0,0]- , Xs [1,0,2,1,1]- , Xs [1,0,2,2,0]- , Xs [1,0,2,15]- , Xs [1,0,15,0,0,0]- , Xs [1,0,15,0,1]- , Xs [1,0,15,1,0]- , Xs [1,0,15,2]- , Xs [1,0,3,0,0]- , Xs [1,0,3,1]- , Xs [1,0,4,0]- , Xs [1,0,14]- , Xs [1,1,0,0,0,0,0,0]- , Xs [1,1,0,0,0,0,1]- , Xs [1,1,0,0,0,1,0]- , Xs [1,1,0,0,0,2]- , Xs [1,1,0,0,1,0,0]- , Xs [1,1,0,0,1,1]- , Xs [1,1,0,0,2,0]- , Xs [1,1,0,0,15]- , Xs [1,1,0,1,0,0,0]- , Xs [1,1,0,1,0,1]- , Xs [1,1,0,1,1,0]- , Xs [1,1,0,1,2]- , Xs [1,1,0,2,0,0]- , Xs [1,1,0,2,1]- , Xs [1,1,0,15,0]- , Xs [1,1,0,3]- , Xs [1,1,1,0,0,0,0]- , Xs [1,1,1,0,0,1]- , Xs [1,1,1,0,1,0]- , Xs [1,1,1,0,2]- , Xs [1,1,1,1,0,0]- , Xs [1,1,1,1,1]- , Xs [1,1,1,2,0]- , Xs [1,1,1,15]- , Xs [1,1,2,0,0,0]- , Xs [1,1,2,0,1]- , Xs [1,1,2,1,0]- , Xs [1,1,2,2]- , Xs [1,1,15,0,0]- , Xs [1,1,15,1]- , Xs [1,1,3,0]- , Xs [1,1,4]- , Xs [1,2,0,0,0,0,0]- , Xs [1,2,0,0,0,1]- , Xs [1,2,0,0,1,0]- , Xs [1,2,0,0,2]- , Xs [1,2,0,1,0,0]- , Xs [1,2,0,1,1]- , Xs [1,2,0,2,0]- , Xs [1,2,0,15]- , Xs [1,2,1,0,0,0]- , Xs [1,2,1,0,1]- , Xs [1,2,1,1,0]- , Xs [1,2,1,2]- , Xs [1,2,2,0,0]- , Xs [1,2,2,1]- , Xs [1,2,15,0]- , Xs [1,2,3]- , Xs [1,15,0,0,0,0]- , Xs [1,15,0,0,1]- , Xs [1,15,0,1,0]- , Xs [1,15,0,2]- , Xs [1,15,1,0,0]- , Xs [1,15,1,1]- , Xs [1,15,2,0]- , Xs [1,15,15]- , Xs [1,3,0,0,0]- , Xs [1,3,0,1]- , Xs [1,3,1,0]- , Xs [1,3,2]- , Xs [1,4,0,0]- , Xs [1,4,1]- , Xs [1,14,0]- , Xs [1,5]- , Xs [2,0,0,0,0,0,0,0]- , Xs [2,0,0,0,0,0,1]- , Xs [2,0,0,0,0,1,0]- , Xs [2,0,0,0,0,2]- , Xs [2,0,0,0,1,0,0]- , Xs [2,0,0,0,1,1]- , Xs [2,0,0,0,2,0]- , Xs [2,0,0,0,15]- , Xs [2,0,0,1,0,0,0]- , Xs [2,0,0,1,0,1]- , Xs [2,0,0,1,1,0]- , Xs [2,0,0,1,2]- , Xs [2,0,0,2,0,0]- , Xs [2,0,0,2,1]- , Xs [2,0,0,15,0]- , Xs [2,0,0,3]- , Xs [2,0,1,0,0,0,0]- , Xs [2,0,1,0,0,1]- , Xs [2,0,1,0,1,0]- , Xs [2,0,1,0,2]- , Xs [2,0,1,1,0,0]- , Xs [2,0,1,1,1]- , Xs [2,0,1,2,0]- , Xs [2,0,1,15]- , Xs [2,0,2,0,0,0]- , Xs [2,0,2,0,1]- , Xs [2,0,2,1,0]- , Xs [2,0,2,2]- , Xs [2,0,15,0,0]- , Xs [2,0,15,1]- , Xs [2,0,3,0]- , Xs [2,0,4]- , Xs [2,1,0,0,0,0,0]- , Xs [2,1,0,0,0,1]- , Xs [2,1,0,0,1,0]- , Xs [2,1,0,0,2]- , Xs [2,1,0,1,0,0]- , Xs [2,1,0,1,1]- , Xs [2,1,0,2,0]- , Xs [2,1,0,15]- , Xs [2,1,1,0,0,0]- , Xs [2,1,1,0,1]- , Xs [2,1,1,1,0]- , Xs [2,1,1,2]- , Xs [2,1,2,0,0]- , Xs [2,1,2,1]- , Xs [2,1,15,0]- , Xs [2,1,3]- , Xs [2,2,0,0,0,0]- , Xs [2,2,0,0,1]- , Xs [2,2,0,1,0]- , Xs [2,2,0,2]- , Xs [2,2,1,0,0]- , Xs [2,2,1,1]- , Xs [2,2,2,0]- , Xs [2,2,15]- , Xs [2,15,0,0,0]- , Xs [2,15,0,1]- , Xs [2,15,1,0]- , Xs [2,15,2]- , Xs [2,3,0,0]- , Xs [2,3,1]- , Xs [2,4,0]- , Xs [2,14]- , Xs [15,0,0,0,0,0,0]- , Xs [15,0,0,0,0,1]- , Xs [15,0,0,0,1,0]- , Xs [15,0,0,0,2]- , Xs [15,0,0,1,0,0]- , Xs [15,0,0,1,1]- , Xs [15,0,0,2,0]- , Xs [15,0,0,15]- , Xs [15,0,1,0,0,0]- , Xs [15,0,1,0,1]- , Xs [15,0,1,1,0]- , Xs [15,0,1,2]- , Xs [15,0,2,0,0]- , Xs [15,0,2,1]- , Xs [15,0,15,0]- , Xs [15,0,3]- , Xs [15,1,0,0,0,0]- , Xs [15,1,0,0,1]- , Xs [15,1,0,1,0]- , Xs [15,1,0,2]- , Xs [15,1,1,0,0]- , Xs [15,1,1,1]- , Xs [15,1,2,0]- , Xs [15,1,15]- , Xs [15,2,0,0,0]- , Xs [15,2,0,1]- , Xs [15,2,1,0]- , Xs [15,2,2]- , Xs [15,15,0,0]- , Xs [15,15,1]- , Xs [15,3,0]- , Xs [15,4]- , Xs [3,0,0,0,0,0]- , Xs [3,0,0,0,1]- , Xs [3,0,0,1,0]- , Xs [3,0,0,2]- , Xs [3,0,1,0,0]- , Xs [3,0,1,1]- , Xs [3,0,2,0]- , Xs [3,0,15]- , Xs [3,1,0,0,0]- , Xs [3,1,0,1]- , Xs [3,1,1,0]- , Xs [3,1,2]- , Xs [3,2,0,0]- , Xs [3,2,1]- , Xs [3,15,0]- , Xs [3,3]- , Xs [4,0,0,0,0]- , Xs [4,0,0,1]- , Xs [4,0,1,0]- , Xs [4,0,2]- , Xs [4,1,0,0]- , Xs [4,1,1]- , Xs [4,2,0]- , Xs [4,15]- , Xs [14,0,0,0]- , Xs [14,0,1]- , Xs [14,1,0]- , Xs [14,2]- , Xs [5,0,0]- , Xs [5,1]- , Xs [6,0]- , Xs [13]- ]- , ...- ]
− tests/diff/tiers-colistable-Bool-Bool.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Bool->Bool ]]) = [4]--length (list :: [ Bool->Bool ]) = 4--allUnique (list :: [ Bool->Bool ]) = True--ratioRepetitions (list :: [ Bool->Bool ]) = 0 % 1--tiers :: [Bool->Bool] =- [ [ \x -> case x of- False -> False- True -> False- , \x -> case x of- False -> True- True -> False- , \x -> case x of- False -> False- True -> True- , \x -> case x of- False -> True- True -> True- ]- ]
− tests/diff/tiers-colistable-Bool-MBool.out
@@ -1,40 +0,0 @@-map length (tiers :: [[ Bool->Maybe Bool ]]) = [1,4,4]--length (list :: [ Bool->Maybe Bool ]) = 9--allUnique (list :: [ Bool->Maybe Bool ]) = True--ratioRepetitions (list :: [ Bool->Maybe Bool ]) = 0 % 1--tiers :: [Bool->Maybe Bool] =- [ [ \x -> case x of- False -> Nothing- True -> Nothing- ]- , [ \x -> case x of- False -> Just False- True -> Nothing- , \x -> case x of- False -> Just True- True -> Nothing- , \x -> case x of- False -> Nothing- True -> Just False- , \x -> case x of- False -> Nothing- True -> Just True- ]- , [ \x -> case x of- False -> Just False- True -> Just False- , \x -> case x of- False -> Just True- True -> Just False- , \x -> case x of- False -> Just False- True -> Just True- , \x -> case x of- False -> Just True- True -> Just True- ]- ]
− tests/diff/tiers-colistable-Bool-U.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Bool->() ]]) = [1]--length (list :: [ Bool->() ]) = 1--allUnique (list :: [ Bool->() ]) = True--ratioRepetitions (list :: [ Bool->() ]) = 0 % 1--tiers :: [Bool->()] =- [ [ \x -> case x of- False -> ()- True -> ()- ]- ]
− tests/diff/tiers-colistable-Bools-Bools.out
@@ -1,745 +0,0 @@-map length (tiers :: [[ [Bool]->[Bool] ]]) = [1,3,12,57,...]--length (list :: [ [Bool]->[Bool] ]) = Infinity--allUnique (list :: [ [Bool]->[Bool] ]) = False--ratioRepetitions (list :: [ [Bool]->[Bool] ]) = 16 % 73--tiers :: [[Bool]->[Bool]] =- [ [ \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False,False]- [False] -> [False,False]- [True] -> [False,False]- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> [False,True]- [False] -> [False,True]- [True] -> [False,True]- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> [True,False]- [False] -> [True,False]- [True] -> [True,False]- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> [True,True]- [False] -> [True,True]- [True] -> [True,True]- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> [True,True]- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False,False,False]- [False] -> [False,False,False]- [True] -> [False,False,False]- [False,False] -> [False,False,False]- [False,True] -> [False,False,False]- [True,False] -> [False,False,False]- [True,True] -> [False,False,False]- [False,False,False] -> [False,False,False]- ...- , \x -> case x of- [] -> [False,False,True]- [False] -> [False,False,True]- [True] -> [False,False,True]- [False,False] -> [False,False,True]- [False,True] -> [False,False,True]- [True,False] -> [False,False,True]- [True,True] -> [False,False,True]- [False,False,False] -> [False,False,True]- ...- , \x -> case x of- [] -> [False,True,False]- [False] -> [False,True,False]- [True] -> [False,True,False]- [False,False] -> [False,True,False]- [False,True] -> [False,True,False]- [True,False] -> [False,True,False]- [True,True] -> [False,True,False]- [False,False,False] -> [False,True,False]- ...- , \x -> case x of- [] -> [False,True,True]- [False] -> [False,True,True]- [True] -> [False,True,True]- [False,False] -> [False,True,True]- [False,True] -> [False,True,True]- [True,False] -> [False,True,True]- [True,True] -> [False,True,True]- [False,False,False] -> [False,True,True]- ...- , \x -> case x of- [] -> [True,False,False]- [False] -> [True,False,False]- [True] -> [True,False,False]- [False,False] -> [True,False,False]- [False,True] -> [True,False,False]- [True,False] -> [True,False,False]- [True,True] -> [True,False,False]- [False,False,False] -> [True,False,False]- ...- , \x -> case x of- [] -> [True,False,True]- [False] -> [True,False,True]- [True] -> [True,False,True]- [False,False] -> [True,False,True]- [False,True] -> [True,False,True]- [True,False] -> [True,False,True]- [True,True] -> [True,False,True]- [False,False,False] -> [True,False,True]- ...- , \x -> case x of- [] -> [True,True,False]- [False] -> [True,True,False]- [True] -> [True,True,False]- [False,False] -> [True,True,False]- [False,True] -> [True,True,False]- [True,False] -> [True,True,False]- [True,True] -> [True,True,False]- [False,False,False] -> [True,True,False]- ...- , \x -> case x of- [] -> [True,True,True]- [False] -> [True,True,True]- [True] -> [True,True,True]- [False,False] -> [True,True,True]- [False,True] -> [True,True,True]- [True,False] -> [True,True,True]- [True,True] -> [True,True,True]- [False,False,False] -> [True,True,True]- ...- , \x -> case x of- [] -> []- [False] -> [False,False]- [True] -> []- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> []- [False] -> [False,True]- [True] -> []- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> []- [False] -> [True,False]- [True] -> []- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> []- [False] -> [True,True]- [True] -> []- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True,True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> [False]- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> [True]- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> [False]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> [True]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False,False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False,True]- [False,False] -> []- [False,True] -> []- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True,False]- [False,False] -> []- [False,True] -> []- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True,True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , ...- ]
− tests/diff/tiers-colistable-Int-Int-Int.out
@@ -1,625 +0,0 @@-map length (tiers :: [[ Int->Int->Int ]]) = [1,3,11,46,...]--length (list :: [ Int->Int->Int ]) = Infinity--allUnique (list :: [ Int->Int->Int ]) = False--ratioRepetitions (list :: [ Int->Int->Int ]) = 37 % 61--tiers :: [Int->Int->Int] =- [ [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,-1) -> 2- (1,1) -> 2- (-1,0) -> 2- (0,2) -> 2- (1,-1) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , ...- ]
− tests/diff/tiers-colistable-Int-Int.out
@@ -1,2637 +0,0 @@-map length (tiers :: [[ Int->Int ]]) = [1,2,5,15,51,188,...]--length (list :: [ Int->Int ]) = Infinity--allUnique (list :: [ Int->Int ]) = False--ratioRepetitions (list :: [ Int->Int ]) = 96 % 131--tiers :: [Int->Int] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> -1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> -2- 1 -> -2- -1 -> -2- 2 -> -2- -2 -> -2- 3 -> -2- -3 -> -2- 4 -> -2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 2- 2 -> 0- -2 -> 2- 3 -> 0- -3 -> 2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> -1- 2 -> 1- -2 -> -1- 3 -> 1- -3 -> -1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 1- 2 -> -1- -2 -> 1- 3 -> -1- -3 -> 1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 0- 2 -> 2- -2 -> 0- 3 -> 2- -3 -> 0- 4 -> 2- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> 3- 1 -> 3- -1 -> 3- 2 -> 3- -2 -> 3- 3 -> 3- -3 -> 3- 4 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -2- 2 -> 0- -2 -> -2- 3 -> 0- -3 -> -2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 2- 3 -> 0- -3 -> 2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 2- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 2- 2 -> 1- -2 -> 2- 3 -> 1- -3 -> 2- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> -1- 3 -> 1- -3 -> -1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> -1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 2- 2 -> 0- -2 -> 2- 3 -> 0- -3 -> 2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 1- 3 -> -1- -3 -> 1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 1- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> -1- 2 -> 1- -2 -> -1- 3 -> 1- -3 -> -1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 1- 2 -> 2- -2 -> 1- 3 -> 2- -3 -> 1- 4 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 0- 2 -> 2- -2 -> 0- 3 -> 2- -3 -> 0- 4 -> 2- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 1- 2 -> -1- -2 -> 1- 3 -> -1- -3 -> 1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -2- 1 -> -2- -1 -> 0- 2 -> -2- -2 -> 0- 3 -> -2- -3 -> 0- 4 -> -2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- -1 -> 0- 2 -> 2- -2 -> 0- 3 -> 2- -3 -> 0- 4 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , ...- ]
− tests/diff/tiers-colistable-Ints-Ints.out
@@ -1,315 +0,0 @@-map length (tiers :: [[ [Int]->[Int] ]]) = [1,2,6,21,...]--length (list :: [ [Int]->[Int] ]) = Infinity--allUnique (list :: [ [Int]->[Int] ]) = False--ratioRepetitions (list :: [ [Int]->[Int] ]) = 2 % 5--tiers :: [[Int]->[Int]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [-1] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [-1] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [-1] -> [1,0]- ...- , \x -> case x of- [] -> [-1]- [0] -> [-1]- [0,0] -> [-1]- [1] -> [-1]- [0,0,0] -> [-1]- [0,1] -> [-1]- [1,0] -> [-1]- [-1] -> [-1]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> [0]- [1] -> []- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> [0]- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , ...- ]
− tests/diff/tiers-colistable-MBool-Bool.out
@@ -1,43 +0,0 @@-map length (tiers :: [[ Maybe Bool->Bool ]]) = [8]--length (list :: [ Maybe Bool->Bool ]) = 8--allUnique (list :: [ Maybe Bool->Bool ]) = True--ratioRepetitions (list :: [ Maybe Bool->Bool ]) = 0 % 1--tiers :: [Maybe Bool->Bool] =- [ [ \x -> case x of- Nothing -> False- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> True- ]- ]
− tests/diff/tiers-colistable-MBool-MBool.out
@@ -1,122 +0,0 @@-map length (tiers :: [[ Maybe Bool->Maybe Bool ]]) = [1,6,12,8]--length (list :: [ Maybe Bool->Maybe Bool ]) = Infinity--allUnique (list :: [ Maybe Bool->Maybe Bool ]) = True--ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ]) = 0 % 1--tiers :: [Maybe Bool->Maybe Bool] =- [ [ \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just True- ]- , [ \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just True- ]- ]
− tests/diff/tiers-colistable-Nat,Nat-Nat.out
@@ -1,625 +0,0 @@-map length (tiers :: [[ (Nat,Nat)->Nat ]]) = [1,3,11,46,...]--length (list :: [ (Nat,Nat)->Nat ]) = Infinity--allUnique (list :: [ (Nat,Nat)->Nat ]) = False--ratioRepetitions (list :: [ (Nat,Nat)->Nat ]) = 37 % 61--tiers :: [(Nat,Nat)->Nat] =- [ [ \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x -> case x of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x -> case x of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 0- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 2- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , ...- ]
− tests/diff/tiers-colistable-Nat-Nat-Nat.out
@@ -1,625 +0,0 @@-map length (tiers :: [[ Nat->Nat->Nat ]]) = [1,3,11,46,...]--length (list :: [ Nat->Nat->Nat ]) = Infinity--allUnique (list :: [ Nat->Nat->Nat ]) = False--ratioRepetitions (list :: [ Nat->Nat->Nat ]) = 37 % 61--tiers :: [Nat->Nat->Nat] =- [ [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , ...- ]
− tests/diff/tiers-colistable-Nat-Nat.out
@@ -1,2637 +0,0 @@-map length (tiers :: [[ Nat->Nat ]]) = [1,2,5,15,51,188,...]--length (list :: [ Nat->Nat ]) = Infinity--allUnique (list :: [ Nat->Nat ]) = False--ratioRepetitions (list :: [ Nat->Nat ]) = 82 % 131--tiers :: [Nat->Nat] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 3- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 4- 1 -> 4- 2 -> 4- 3 -> 4- 4 -> 4- 5 -> 4- 6 -> 4- 7 -> 4- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 3- 4 -> 0- 5 -> 3- 6 -> 0- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- 3 -> 2- 4 -> 1- 5 -> 2- 6 -> 1- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- 3 -> 1- 4 -> 2- 5 -> 1- 6 -> 2- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 3- 3 -> 0- 4 -> 3- 5 -> 0- 6 -> 3- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 5- 1 -> 5- 2 -> 5- 3 -> 5- 4 -> 5- 5 -> 5- 6 -> 5- 7 -> 5- ...- , \x -> case x of- 0 -> 0- 1 -> 4- 2 -> 0- 3 -> 4- 4 -> 0- 5 -> 4- 6 -> 0- 7 -> 4- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 3- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 3- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 3- 2 -> 1- 3 -> 3- 4 -> 1- 5 -> 3- 6 -> 1- 7 -> 3- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 2- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 2- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 3- 4 -> 0- 5 -> 3- 6 -> 0- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 1- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 1- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 1- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 1- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 1- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 1- 2 -> 3- 3 -> 1- 4 -> 3- 5 -> 1- 6 -> 3- 7 -> 1- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 3- 3 -> 0- 4 -> 3- 5 -> 0- 6 -> 3- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 2- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 2- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 2- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 4- 1 -> 0- 2 -> 4- 3 -> 0- 4 -> 4- 5 -> 0- 6 -> 4- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 3- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 3- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 3- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , ...- ]
− tests/diff/tiers-colistable-Nat-U.out
@@ -1,667 +0,0 @@-map length (tiers :: [[ Nat->() ]]) = [1,1,2,5,14,42,...]--length (list :: [ Nat->() ]) = Infinity--allUnique (list :: [ Nat->() ]) = False--ratioRepetitions (list :: [ Nat->() ]) = 64 % 65--tiers :: [Nat->()] =- [ [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , ...- ]
− tests/diff/tiers-colistable-Nat2-Nat2.out
@@ -1,25 +0,0 @@-map length (tiers :: [[ Nat2->Nat2 ]]) = [1,2,1]--length (list :: [ Nat2->Nat2 ]) = 4--allUnique (list :: [ Nat2->Nat2 ]) = True--ratioRepetitions (list :: [ Nat2->Nat2 ]) = 0 % 1--tiers :: [Nat2->Nat2] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- ]- ]
− tests/diff/tiers-colistable-Nat2-Nat3.out
@@ -1,42 +0,0 @@-map length (tiers :: [[ Nat2->Nat3 ]]) = [1,2,3,2,1]--length (list :: [ Nat2->Nat3 ]) = 9--allUnique (list :: [ Nat2->Nat3 ]) = True--ratioRepetitions (list :: [ Nat2->Nat3 ]) = 0 % 1--tiers :: [Nat2->Nat3] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- ]- ]
− tests/diff/tiers-colistable-Nat3-Nat2.out
@@ -1,46 +0,0 @@-map length (tiers :: [[ Nat3->Nat2 ]]) = [1,3,3,1]--length (list :: [ Nat3->Nat2 ]) = 8--allUnique (list :: [ Nat3->Nat2 ]) = True--ratioRepetitions (list :: [ Nat3->Nat2 ]) = 0 % 1--tiers :: [Nat3->Nat2] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- ]- ]
− tests/diff/tiers-colistable-Nat3-Nat3.out
@@ -1,125 +0,0 @@-map length (tiers :: [[ Nat3->Nat3 ]]) = [1,3,6,7,6,3,1]--length (list :: [ Nat3->Nat3 ]) = Infinity--allUnique (list :: [ Nat3->Nat3 ]) = True--ratioRepetitions (list :: [ Nat3->Nat3 ]) = 0 % 1--tiers :: [Nat3->Nat3] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 1- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- ]- ]
− tests/diff/tiers-colistable-Nats-Nats.out
@@ -1,315 +0,0 @@-map length (tiers :: [[ [Nat]->[Nat] ]]) = [1,2,6,21,...]--length (list :: [ [Nat]->[Nat] ]) = Infinity--allUnique (list :: [ [Nat]->[Nat] ]) = False--ratioRepetitions (list :: [ [Nat]->[Nat] ]) = 2 % 5--tiers :: [[Nat]->[Nat]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [2] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [2] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [2] -> [1,0]- ...- , \x -> case x of- [] -> [2]- [0] -> [2]- [0,0] -> [2]- [1] -> [2]- [0,0,0] -> [2]- [0,1] -> [2]- [1,0] -> [2]- [2] -> [2]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> [0]- [1] -> []- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> [0]- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> [0]- [0,0,0] -> []- [0,1] -> []- [1,0] -> [0]- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> []- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> []- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , ...- ]
− tests/diff/tiers-colistable-U-Bool.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ ()->Bool ]]) = [2]--length (list :: [ ()->Bool ]) = 2--allUnique (list :: [ ()->Bool ]) = True--ratioRepetitions (list :: [ ()->Bool ]) = 0 % 1--tiers :: [()->Bool] =- [ [ \x -> case x of- () -> False- , \x -> case x of- () -> True- ]- ]
− tests/diff/tiers-colistable-U-Nat.out
@@ -1,29 +0,0 @@-map length (tiers :: [[ ()->Nat ]]) = [1,1,1,1,1,1,...]--length (list :: [ ()->Nat ]) = Infinity--allUnique (list :: [ ()->Nat ]) = True--ratioRepetitions (list :: [ ()->Nat ]) = 0 % 1--tiers :: [()->Nat] =- [ [ \x -> case x of- () -> 0- ]- , [ \x -> case x of- () -> 1- ]- , [ \x -> case x of- () -> 2- ]- , [ \x -> case x of- () -> 3- ]- , [ \x -> case x of- () -> 4- ]- , [ \x -> case x of- () -> 5- ]- , ...- ]
− tests/diff/tiers-colistable-U-U.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ ()->() ]]) = [1]--length (list :: [ ()->() ]) = 1--allUnique (list :: [ ()->() ]) = True--ratioRepetitions (list :: [ ()->() ]) = 0 % 1--tiers :: [()->()] =- [ [ \x -> case x of- () -> ()- ]- ]
− tests/diff/tiers-colistable-Us-Us.out
@@ -1,165 +0,0 @@-map length (tiers :: [[ [()]->[()] ]]) = [1,2,4,8,...]--length (list :: [ [()]->[()] ]) = Infinity--allUnique (list :: [ [()]->[()] ]) = False--ratioRepetitions (list :: [ [()]->[()] ]) = 1 % 3--tiers :: [[()]->[()]] =- [ [ \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [()]- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [(),()]- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [(),(),()]- [()] -> [(),(),()]- [(),()] -> [(),(),()]- [(),(),()] -> [(),(),()]- [(),(),(),()] -> [(),(),()]- [(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),(),()] -> [(),(),()]- ...- , \x -> case x of- [] -> []- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [()]- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [(),()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , ...- ]
− tests/diff/tiers-funlistable-Bool-Bool.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Bool->Bool ]]) = [4]--length (list :: [ Bool->Bool ]) = 4--allUnique (list :: [ Bool->Bool ]) = True--ratioRepetitions (list :: [ Bool->Bool ]) = 0 % 1--tiers :: [Bool->Bool] =- [ [ \x -> case x of- False -> False- True -> False- , \x -> case x of- False -> True- True -> False- , \x -> case x of- False -> False- True -> True- , \x -> case x of- False -> True- True -> True- ]- ]
− tests/diff/tiers-funlistable-Bool-MBool.out
@@ -1,40 +0,0 @@-map length (tiers :: [[ Bool->Maybe Bool ]]) = [1,4,4]--length (list :: [ Bool->Maybe Bool ]) = 9--allUnique (list :: [ Bool->Maybe Bool ]) = True--ratioRepetitions (list :: [ Bool->Maybe Bool ]) = 0 % 1--tiers :: [Bool->Maybe Bool] =- [ [ \x -> case x of- False -> Nothing- True -> Nothing- ]- , [ \x -> case x of- False -> Just False- True -> Nothing- , \x -> case x of- False -> Just True- True -> Nothing- , \x -> case x of- False -> Nothing- True -> Just False- , \x -> case x of- False -> Nothing- True -> Just True- ]- , [ \x -> case x of- False -> Just False- True -> Just False- , \x -> case x of- False -> Just True- True -> Just False- , \x -> case x of- False -> Just False- True -> Just True- , \x -> case x of- False -> Just True- True -> Just True- ]- ]
− tests/diff/tiers-funlistable-Bool-U.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Bool->() ]]) = [1]--length (list :: [ Bool->() ]) = 1--allUnique (list :: [ Bool->() ]) = True--ratioRepetitions (list :: [ Bool->() ]) = 0 % 1--tiers :: [Bool->()] =- [ [ \x -> case x of- False -> ()- True -> ()- ]- ]
− tests/diff/tiers-funlistable-Bools-Bools.out
@@ -1,165 +0,0 @@-map length (tiers :: [[ [Bool]->[Bool] ]]) = [1,2,4,8,...]--length (list :: [ [Bool]->[Bool] ]) = Infinity--allUnique (list :: [ [Bool]->[Bool] ]) = True--ratioRepetitions (list :: [ [Bool]->[Bool] ]) = 0 % 1--tiers :: [[Bool]->[Bool]] =- [ [ \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- ]- , [ \x -> case x of- [] -> [False,False]- [False] -> [False,False]- [True] -> [False,False]- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> [False,True]- [False] -> [False,True]- [True] -> [False,True]- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> [True,False]- [False] -> [True,False]- [True] -> [True,False]- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> [True,True]- [False] -> [True,True]- [True] -> [True,True]- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> [True,True]- ...- ]- , [ \x -> case x of- [] -> [False,False,False]- [False] -> [False,False,False]- [True] -> [False,False,False]- [False,False] -> [False,False,False]- [False,True] -> [False,False,False]- [True,False] -> [False,False,False]- [True,True] -> [False,False,False]- [False,False,False] -> [False,False,False]- ...- , \x -> case x of- [] -> [False,False,True]- [False] -> [False,False,True]- [True] -> [False,False,True]- [False,False] -> [False,False,True]- [False,True] -> [False,False,True]- [True,False] -> [False,False,True]- [True,True] -> [False,False,True]- [False,False,False] -> [False,False,True]- ...- , \x -> case x of- [] -> [False,True,False]- [False] -> [False,True,False]- [True] -> [False,True,False]- [False,False] -> [False,True,False]- [False,True] -> [False,True,False]- [True,False] -> [False,True,False]- [True,True] -> [False,True,False]- [False,False,False] -> [False,True,False]- ...- , \x -> case x of- [] -> [False,True,True]- [False] -> [False,True,True]- [True] -> [False,True,True]- [False,False] -> [False,True,True]- [False,True] -> [False,True,True]- [True,False] -> [False,True,True]- [True,True] -> [False,True,True]- [False,False,False] -> [False,True,True]- ...- , \x -> case x of- [] -> [True,False,False]- [False] -> [True,False,False]- [True] -> [True,False,False]- [False,False] -> [True,False,False]- [False,True] -> [True,False,False]- [True,False] -> [True,False,False]- [True,True] -> [True,False,False]- [False,False,False] -> [True,False,False]- ...- , \x -> case x of- [] -> [True,False,True]- [False] -> [True,False,True]- [True] -> [True,False,True]- [False,False] -> [True,False,True]- [False,True] -> [True,False,True]- [True,False] -> [True,False,True]- [True,True] -> [True,False,True]- [False,False,False] -> [True,False,True]- ...- , \x -> case x of- [] -> [True,True,False]- [False] -> [True,True,False]- [True] -> [True,True,False]- [False,False] -> [True,True,False]- [False,True] -> [True,True,False]- [True,False] -> [True,True,False]- [True,True] -> [True,True,False]- [False,False,False] -> [True,True,False]- ...- , \x -> case x of- [] -> [True,True,True]- [False] -> [True,True,True]- [True] -> [True,True,True]- [False,False] -> [True,True,True]- [False,True] -> [True,True,True]- [True,False] -> [True,True,True]- [True,True] -> [True,True,True]- [False,False,False] -> [True,True,True]- ...- ]- , ...- ]
− tests/diff/tiers-funlistable-Int-Int-Int.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Int->Int->Int ]]) = [0]--length (list :: [ Int->Int->Int ]) = 0--allUnique (list :: [ Int->Int->Int ]) = True--ratioRepetitions (list :: [ Int->Int->Int ]) = 0 % 1--tiers :: [Int->Int->Int] =- [[]]
− tests/diff/tiers-funlistable-Int-Int.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Int->Int ]]) = [0]--length (list :: [ Int->Int ]) = 0--allUnique (list :: [ Int->Int ]) = True--ratioRepetitions (list :: [ Int->Int ]) = 0 % 1--tiers :: [Int->Int] =- [[]]
− tests/diff/tiers-funlistable-Ints-Ints.out
@@ -1,95 +0,0 @@-map length (tiers :: [[ [Int]->[Int] ]]) = [1,1,2,4,...]--length (list :: [ [Int]->[Int] ]) = Infinity--allUnique (list :: [ [Int]->[Int] ]) = True--ratioRepetitions (list :: [ [Int]->[Int] ]) = 0 % 1--tiers :: [[Int]->[Int]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- ]- , [ \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [-1] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [-1] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [-1] -> [1,0]- ...- , \x -> case x of- [] -> [-1]- [0] -> [-1]- [0,0] -> [-1]- [1] -> [-1]- [0,0,0] -> [-1]- [0,1] -> [-1]- [1,0] -> [-1]- [-1] -> [-1]- ...- ]- , ...- ]
− tests/diff/tiers-funlistable-MBool-Bool.out
@@ -1,43 +0,0 @@-map length (tiers :: [[ Maybe Bool->Bool ]]) = [8]--length (list :: [ Maybe Bool->Bool ]) = 8--allUnique (list :: [ Maybe Bool->Bool ]) = True--ratioRepetitions (list :: [ Maybe Bool->Bool ]) = 0 % 1--tiers :: [Maybe Bool->Bool] =- [ [ \x -> case x of- Nothing -> False- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> True- ]- ]
− tests/diff/tiers-funlistable-MBool-MBool.out
@@ -1,122 +0,0 @@-map length (tiers :: [[ Maybe Bool->Maybe Bool ]]) = [1,6,12,8]--length (list :: [ Maybe Bool->Maybe Bool ]) = Infinity--allUnique (list :: [ Maybe Bool->Maybe Bool ]) = True--ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ]) = 0 % 1--tiers :: [Maybe Bool->Maybe Bool] =- [ [ \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just True- ]- , [ \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just True- ]- ]
− tests/diff/tiers-funlistable-Nat,Nat-Nat.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ (Nat,Nat)->Nat ]]) = [0]--length (list :: [ (Nat,Nat)->Nat ]) = 0--allUnique (list :: [ (Nat,Nat)->Nat ]) = True--ratioRepetitions (list :: [ (Nat,Nat)->Nat ]) = 0 % 1--tiers :: [(Nat,Nat)->Nat] =- [[]]
− tests/diff/tiers-funlistable-Nat-Nat-Nat.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Nat->Nat->Nat ]]) = [0]--length (list :: [ Nat->Nat->Nat ]) = 0--allUnique (list :: [ Nat->Nat->Nat ]) = True--ratioRepetitions (list :: [ Nat->Nat->Nat ]) = 0 % 1--tiers :: [Nat->Nat->Nat] =- [[]]
− tests/diff/tiers-funlistable-Nat-Nat.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Nat->Nat ]]) = [0]--length (list :: [ Nat->Nat ]) = 0--allUnique (list :: [ Nat->Nat ]) = True--ratioRepetitions (list :: [ Nat->Nat ]) = 0 % 1--tiers :: [Nat->Nat] =- [[]]
− tests/diff/tiers-funlistable-Nat-U.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Nat->() ]]) = [0]--length (list :: [ Nat->() ]) = 0--allUnique (list :: [ Nat->() ]) = True--ratioRepetitions (list :: [ Nat->() ]) = 0 % 1--tiers :: [Nat->()] =- [[]]
− tests/diff/tiers-funlistable-Nat2-Nat2.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Nat2->Nat2 ]]) = [0]--length (list :: [ Nat2->Nat2 ]) = 0--allUnique (list :: [ Nat2->Nat2 ]) = True--ratioRepetitions (list :: [ Nat2->Nat2 ]) = 0 % 1--tiers :: [Nat2->Nat2] =- [[]]
− tests/diff/tiers-funlistable-Nat2-Nat3.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Nat2->Nat3 ]]) = [0]--length (list :: [ Nat2->Nat3 ]) = 0--allUnique (list :: [ Nat2->Nat3 ]) = True--ratioRepetitions (list :: [ Nat2->Nat3 ]) = 0 % 1--tiers :: [Nat2->Nat3] =- [[]]
− tests/diff/tiers-funlistable-Nat3-Nat2.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Nat3->Nat2 ]]) = [0]--length (list :: [ Nat3->Nat2 ]) = 0--allUnique (list :: [ Nat3->Nat2 ]) = True--ratioRepetitions (list :: [ Nat3->Nat2 ]) = 0 % 1--tiers :: [Nat3->Nat2] =- [[]]
− tests/diff/tiers-funlistable-Nat3-Nat3.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ Nat3->Nat3 ]]) = [0]--length (list :: [ Nat3->Nat3 ]) = 0--allUnique (list :: [ Nat3->Nat3 ]) = True--ratioRepetitions (list :: [ Nat3->Nat3 ]) = 0 % 1--tiers :: [Nat3->Nat3] =- [[]]
− tests/diff/tiers-funlistable-Nats-Nats.out
@@ -1,95 +0,0 @@-map length (tiers :: [[ [Nat]->[Nat] ]]) = [1,1,2,4,...]--length (list :: [ [Nat]->[Nat] ]) = Infinity--allUnique (list :: [ [Nat]->[Nat] ]) = True--ratioRepetitions (list :: [ [Nat]->[Nat] ]) = 0 % 1--tiers :: [[Nat]->[Nat]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- ]- , [ \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [2] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [2] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [2] -> [1,0]- ...- , \x -> case x of- [] -> [2]- [0] -> [2]- [0,0] -> [2]- [1] -> [2]- [0,0,0] -> [2]- [0,1] -> [2]- [1,0] -> [2]- [2] -> [2]- ...- ]- , ...- ]
− tests/diff/tiers-funlistable-U-Bool.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ ()->Bool ]]) = [2]--length (list :: [ ()->Bool ]) = 2--allUnique (list :: [ ()->Bool ]) = True--ratioRepetitions (list :: [ ()->Bool ]) = 0 % 1--tiers :: [()->Bool] =- [ [ \x -> case x of- () -> False- , \x -> case x of- () -> True- ]- ]
− tests/diff/tiers-funlistable-U-Nat.out
@@ -1,29 +0,0 @@-map length (tiers :: [[ ()->Nat ]]) = [1,1,1,1,1,1,...]--length (list :: [ ()->Nat ]) = Infinity--allUnique (list :: [ ()->Nat ]) = True--ratioRepetitions (list :: [ ()->Nat ]) = 0 % 1--tiers :: [()->Nat] =- [ [ \x -> case x of- () -> 0- ]- , [ \x -> case x of- () -> 1- ]- , [ \x -> case x of- () -> 2- ]- , [ \x -> case x of- () -> 3- ]- , [ \x -> case x of- () -> 4- ]- , [ \x -> case x of- () -> 5- ]- , ...- ]
− tests/diff/tiers-funlistable-U-U.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ ()->() ]]) = [1]--length (list :: [ ()->() ]) = 1--allUnique (list :: [ ()->() ]) = True--ratioRepetitions (list :: [ ()->() ]) = 0 % 1--tiers :: [()->()] =- [ [ \x -> case x of- () -> ()- ]- ]
− tests/diff/tiers-funlistable-Us-Us.out
@@ -1,55 +0,0 @@-map length (tiers :: [[ [()]->[()] ]]) = [1,1,1,1,...]--length (list :: [ [()]->[()] ]) = Infinity--allUnique (list :: [ [()]->[()] ]) = True--ratioRepetitions (list :: [ [()]->[()] ]) = 0 % 1--tiers :: [[()]->[()]] =- [ [ \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [()]- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- ]- , [ \x -> case x of- [] -> [(),()]- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- ]- , [ \x -> case x of- [] -> [(),(),()]- [()] -> [(),(),()]- [(),()] -> [(),(),()]- [(),(),()] -> [(),(),()]- [(),(),(),()] -> [(),(),()]- [(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),(),()] -> [(),(),()]- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-Bool-Bool.out
@@ -1,23 +0,0 @@-map length (tiers :: [[ Bool->Bool ]]) = [4]--length (list :: [ Bool->Bool ]) = 4--allUnique (list :: [ Bool->Bool ]) = True--ratioRepetitions (list :: [ Bool->Bool ]) = 0 % 1--tiers :: [Bool->Bool] =- [ [ \x -> case x of- False -> False- True -> False- , \x -> case x of- False -> False- True -> True- , \x -> case x of- False -> True- True -> False- , \x -> case x of- False -> True- True -> True- ]- ]
− tests/diff/tiers-listsofpairs-Bool-MBool.out
@@ -1,40 +0,0 @@-map length (tiers :: [[ Bool->Maybe Bool ]]) = [1,4,4]--length (list :: [ Bool->Maybe Bool ]) = 9--allUnique (list :: [ Bool->Maybe Bool ]) = True--ratioRepetitions (list :: [ Bool->Maybe Bool ]) = 0 % 1--tiers :: [Bool->Maybe Bool] =- [ [ \x -> case x of- False -> Nothing- True -> Nothing- ]- , [ \x -> case x of- False -> Nothing- True -> Just False- , \x -> case x of- False -> Nothing- True -> Just True- , \x -> case x of- False -> Just False- True -> Nothing- , \x -> case x of- False -> Just True- True -> Nothing- ]- , [ \x -> case x of- False -> Just False- True -> Just False- , \x -> case x of- False -> Just False- True -> Just True- , \x -> case x of- False -> Just True- True -> Just False- , \x -> case x of- False -> Just True- True -> Just True- ]- ]
− tests/diff/tiers-listsofpairs-Bool-U.out
@@ -1,14 +0,0 @@-map length (tiers :: [[ Bool->() ]]) = [1]--length (list :: [ Bool->() ]) = 1--allUnique (list :: [ Bool->() ]) = True--ratioRepetitions (list :: [ Bool->() ]) = 0 % 1--tiers :: [Bool->()] =- [ [ \x -> case x of- False -> ()- True -> ()- ]- ]
− tests/diff/tiers-listsofpairs-Bools-Bools.out
@@ -1,385 +0,0 @@-map length (tiers :: [[ [Bool]->[Bool] ]]) = [1,2,8,26,...]--length (list :: [ [Bool]->[Bool] ]) = Infinity--allUnique (list :: [ [Bool]->[Bool] ]) = True--ratioRepetitions (list :: [ [Bool]->[Bool] ]) = 0 % 1--tiers :: [[Bool]->[Bool]] =- [ [ \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- ]- , [ \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [False,False]- [False] -> [False,False]- [True] -> [False,False]- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> [False,True]- [False] -> [False,True]- [True] -> [False,True]- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> [True,False]- [False] -> [True,False]- [True] -> [True,False]- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> [True,True]- [False] -> [True,True]- [True] -> [True,True]- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> [True,True]- ...- ]- , [ \x -> case x of- [] -> [False,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> [False,False]- [True] -> [False,False]- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> []- [False] -> [False,True]- [True] -> [False,True]- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> []- [False] -> [True,False]- [True] -> [True,False]- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> []- [False] -> [True,True]- [True] -> [True,True]- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> [True,True]- ...- , \x -> case x of- [] -> [False,False,False]- [False] -> [False,False,False]- [True] -> [False,False,False]- [False,False] -> [False,False,False]- [False,True] -> [False,False,False]- [True,False] -> [False,False,False]- [True,True] -> [False,False,False]- [False,False,False] -> [False,False,False]- ...- , \x -> case x of- [] -> [False,False,True]- [False] -> [False,False,True]- [True] -> [False,False,True]- [False,False] -> [False,False,True]- [False,True] -> [False,False,True]- [True,False] -> [False,False,True]- [True,True] -> [False,False,True]- [False,False,False] -> [False,False,True]- ...- , \x -> case x of- [] -> [False,True,False]- [False] -> [False,True,False]- [True] -> [False,True,False]- [False,False] -> [False,True,False]- [False,True] -> [False,True,False]- [True,False] -> [False,True,False]- [True,True] -> [False,True,False]- [False,False,False] -> [False,True,False]- ...- , \x -> case x of- [] -> [False,True,True]- [False] -> [False,True,True]- [True] -> [False,True,True]- [False,False] -> [False,True,True]- [False,True] -> [False,True,True]- [True,False] -> [False,True,True]- [True,True] -> [False,True,True]- [False,False,False] -> [False,True,True]- ...- , \x -> case x of- [] -> [True,False,False]- [False] -> [True,False,False]- [True] -> [True,False,False]- [False,False] -> [True,False,False]- [False,True] -> [True,False,False]- [True,False] -> [True,False,False]- [True,True] -> [True,False,False]- [False,False,False] -> [True,False,False]- ...- , \x -> case x of- [] -> [True,False,True]- [False] -> [True,False,True]- [True] -> [True,False,True]- [False,False] -> [True,False,True]- [False,True] -> [True,False,True]- [True,False] -> [True,False,True]- [True,True] -> [True,False,True]- [False,False,False] -> [True,False,True]- ...- , \x -> case x of- [] -> [True,True,False]- [False] -> [True,True,False]- [True] -> [True,True,False]- [False,False] -> [True,True,False]- [False,True] -> [True,True,False]- [True,False] -> [True,True,False]- [True,True] -> [True,True,False]- [False,False,False] -> [True,True,False]- ...- , \x -> case x of- [] -> [True,True,True]- [False] -> [True,True,True]- [True] -> [True,True,True]- [False,False] -> [True,True,True]- [False,True] -> [True,True,True]- [True,False] -> [True,True,True]- [True,True] -> [True,True,True]- [False,False,False] -> [True,True,True]- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-Int-Int-Int.out
@@ -1,215 +0,0 @@-map length (tiers :: [[ Int->Int->Int ]]) = [1,1,5,13,...]--length (list :: [ Int->Int->Int ]) = Infinity--allUnique (list :: [ Int->Int->Int ]) = True--ratioRepetitions (list :: [ Int->Int->Int ]) = 0 % 1--tiers :: [Int->Int->Int] =- [ [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> -1- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,-1) -> 2- (1,1) -> 2- (-1,0) -> 2- (0,2) -> 2- (1,-1) -> 2- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-Int-Int.out
@@ -1,377 +0,0 @@-map length (tiers :: [[ Int->Int ]]) = [1,1,3,5,10,16,...]--length (list :: [ Int->Int ]) = Infinity--allUnique (list :: [ Int->Int ]) = True--ratioRepetitions (list :: [ Int->Int ]) = 0 % 1--tiers :: [Int->Int] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- ]- , [ \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- ]- , [ \x -> case x of- 0 -> 2- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> -2- 1 -> -2- -1 -> -2- 2 -> -2- -2 -> -2- 3 -> -2- -3 -> -2- 4 -> -2- ...- ]- , [ \x -> case x of- 0 -> -2- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> -1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> -1- 1 -> 1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> -2- -1 -> -2- 2 -> -2- -2 -> -2- 3 -> -2- -3 -> -2- 4 -> -2- ...- , \x -> case x of- 0 -> 3- 1 -> 3- -1 -> 3- 2 -> 3- -2 -> 3- 3 -> 3- -3 -> 3- 4 -> 3- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-Ints-Ints.out
@@ -1,175 +0,0 @@-map length (tiers :: [[ [Int]->[Int] ]]) = [1,1,4,10,...]--length (list :: [ [Int]->[Int] ]) = Infinity--allUnique (list :: [ [Int]->[Int] ]) = True--ratioRepetitions (list :: [ [Int]->[Int] ]) = 0 % 1--tiers :: [[Int]->[Int]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- , \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [-1] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [-1] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [-1] -> [1,0]- ...- , \x -> case x of- [] -> [-1]- [0] -> [-1]- [0,0] -> [-1]- [1] -> [-1]- [0,0,0] -> [-1]- [0,1] -> [-1]- [1,0] -> [-1]- [-1] -> [-1]- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-MBool-Bool.out
@@ -1,43 +0,0 @@-map length (tiers :: [[ Maybe Bool->Bool ]]) = [8]--length (list :: [ Maybe Bool->Bool ]) = 8--allUnique (list :: [ Maybe Bool->Bool ]) = True--ratioRepetitions (list :: [ Maybe Bool->Bool ]) = 0 % 1--tiers :: [Maybe Bool->Bool] =- [ [ \x -> case x of- Nothing -> False- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> True- ]- ]
− tests/diff/tiers-listsofpairs-MBool-MBool.out
@@ -1,122 +0,0 @@-map length (tiers :: [[ Maybe Bool->Maybe Bool ]]) = [1,6,12,8]--length (list :: [ Maybe Bool->Maybe Bool ]) = Infinity--allUnique (list :: [ Maybe Bool->Maybe Bool ]) = True--ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ]) = 0 % 1--tiers :: [Maybe Bool->Maybe Bool] =- [ [ \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just True- ]- ]
− tests/diff/tiers-listsofpairs-Nat,Nat-Nat.out
@@ -1,135 +0,0 @@-map length (tiers :: [[ (Nat,Nat)->Nat ]]) = [1,1,3,7,...]--length (list :: [ (Nat,Nat)->Nat ]) = Infinity--allUnique (list :: [ (Nat,Nat)->Nat ]) = True--ratioRepetitions (list :: [ (Nat,Nat)->Nat ]) = 0 % 1--tiers :: [(Nat,Nat)->Nat] =- [ [ \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- ]- , [ \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- ]- , [ \x -> case x of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-Nat-Nat-Nat.out
@@ -1,215 +0,0 @@-map length (tiers :: [[ Nat->Nat->Nat ]]) = [1,1,5,13,...]--length (list :: [ Nat->Nat->Nat ]) = Infinity--allUnique (list :: [ Nat->Nat->Nat ]) = True--ratioRepetitions (list :: [ Nat->Nat->Nat ]) = 0 % 1--tiers :: [Nat->Nat->Nat] =- [ [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-Nat-Nat.out
@@ -1,377 +0,0 @@-map length (tiers :: [[ Nat->Nat ]]) = [1,1,3,5,10,16,...]--length (list :: [ Nat->Nat ]) = Infinity--allUnique (list :: [ Nat->Nat ]) = True--ratioRepetitions (list :: [ Nat->Nat ]) = 0 % 1--tiers :: [Nat->Nat] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- ]- , [ \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 3- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- ]- , [ \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 4- 1 -> 4- 2 -> 4- 3 -> 4- 4 -> 4- 5 -> 4- 6 -> 4- 7 -> 4- ...- ]- , [ \x -> case x of- 0 -> 4- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 4- 2 -> 4- 3 -> 4- 4 -> 4- 5 -> 4- 6 -> 4- 7 -> 4- ...- , \x -> case x of- 0 -> 5- 1 -> 5- 2 -> 5- 3 -> 5- 4 -> 5- 5 -> 5- 6 -> 5- 7 -> 5- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-Nat-U.out
@@ -1,27 +0,0 @@-map length (tiers :: [[ Nat->() ]]) = [1,0,0,0,0,0,...]--length (list :: [ Nat->() ]) = 1--allUnique (list :: [ Nat->() ]) = True--ratioRepetitions (list :: [ Nat->() ]) = 0 % 1--tiers :: [Nat->()] =- [ [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , []- , []- , []- , []- , []- , ...- ]
− tests/diff/tiers-listsofpairs-Nat2-Nat2.out
@@ -1,25 +0,0 @@-map length (tiers :: [[ Nat2->Nat2 ]]) = [1,2,1]--length (list :: [ Nat2->Nat2 ]) = 4--allUnique (list :: [ Nat2->Nat2 ]) = True--ratioRepetitions (list :: [ Nat2->Nat2 ]) = 0 % 1--tiers :: [Nat2->Nat2] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- ]- ]
− tests/diff/tiers-listsofpairs-Nat2-Nat3.out
@@ -1,42 +0,0 @@-map length (tiers :: [[ Nat2->Nat3 ]]) = [1,2,3,2,1]--length (list :: [ Nat2->Nat3 ]) = 9--allUnique (list :: [ Nat2->Nat3 ]) = True--ratioRepetitions (list :: [ Nat2->Nat3 ]) = 0 % 1--tiers :: [Nat2->Nat3] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- ]- ]
− tests/diff/tiers-listsofpairs-Nat3-Nat2.out
@@ -1,46 +0,0 @@-map length (tiers :: [[ Nat3->Nat2 ]]) = [1,3,3,1]--length (list :: [ Nat3->Nat2 ]) = 8--allUnique (list :: [ Nat3->Nat2 ]) = True--ratioRepetitions (list :: [ Nat3->Nat2 ]) = 0 % 1--tiers :: [Nat3->Nat2] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- ]- ]
− tests/diff/tiers-listsofpairs-Nat3-Nat3.out
@@ -1,125 +0,0 @@-map length (tiers :: [[ Nat3->Nat3 ]]) = [1,3,6,7,6,3,1]--length (list :: [ Nat3->Nat3 ]) = Infinity--allUnique (list :: [ Nat3->Nat3 ]) = True--ratioRepetitions (list :: [ Nat3->Nat3 ]) = 0 % 1--tiers :: [Nat3->Nat3] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 1- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- ]- ]
− tests/diff/tiers-listsofpairs-Nats-Nats.out
@@ -1,175 +0,0 @@-map length (tiers :: [[ [Nat]->[Nat] ]]) = [1,1,4,10,...]--length (list :: [ [Nat]->[Nat] ]) = Infinity--allUnique (list :: [ [Nat]->[Nat] ]) = True--ratioRepetitions (list :: [ [Nat]->[Nat] ]) = 0 % 1--tiers :: [[Nat]->[Nat]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- , \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [2] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [2] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [2] -> [1,0]- ...- , \x -> case x of- [] -> [2]- [0] -> [2]- [0,0] -> [2]- [1] -> [2]- [0,0,0] -> [2]- [0,1] -> [2]- [1,0] -> [2]- [2] -> [2]- ...- ]- , ...- ]
− tests/diff/tiers-listsofpairs-U-Bool.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ ()->Bool ]]) = [2]--length (list :: [ ()->Bool ]) = 2--allUnique (list :: [ ()->Bool ]) = True--ratioRepetitions (list :: [ ()->Bool ]) = 0 % 1--tiers :: [()->Bool] =- [ [ \x -> case x of- () -> False- , \x -> case x of- () -> True- ]- ]
− tests/diff/tiers-listsofpairs-U-Nat.out
@@ -1,29 +0,0 @@-map length (tiers :: [[ ()->Nat ]]) = [1,1,1,1,1,1,...]--length (list :: [ ()->Nat ]) = Infinity--allUnique (list :: [ ()->Nat ]) = True--ratioRepetitions (list :: [ ()->Nat ]) = 0 % 1--tiers :: [()->Nat] =- [ [ \x -> case x of- () -> 0- ]- , [ \x -> case x of- () -> 1- ]- , [ \x -> case x of- () -> 2- ]- , [ \x -> case x of- () -> 3- ]- , [ \x -> case x of- () -> 4- ]- , [ \x -> case x of- () -> 5- ]- , ...- ]
− tests/diff/tiers-listsofpairs-U-U.out
@@ -1,13 +0,0 @@-map length (tiers :: [[ ()->() ]]) = [1]--length (list :: [ ()->() ]) = 1--allUnique (list :: [ ()->() ]) = True--ratioRepetitions (list :: [ ()->() ]) = 0 % 1--tiers :: [()->()] =- [ [ \x -> case x of- () -> ()- ]- ]
− tests/diff/tiers-listsofpairs-Us-Us.out
@@ -1,115 +0,0 @@-map length (tiers :: [[ [()]->[()] ]]) = [1,1,3,5,...]--length (list :: [ [()]->[()] ]) = Infinity--allUnique (list :: [ [()]->[()] ]) = True--ratioRepetitions (list :: [ [()]->[()] ]) = 0 % 1--tiers :: [[()]->[()]] =- [ [ \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [()]- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- ]- , [ \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> [(),()]- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- ]- , [ \x -> case x of- [] -> [(),()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- , \x -> case x of- [] -> [(),(),()]- [()] -> [(),(),()]- [(),()] -> [(),(),()]- [(),(),()] -> [(),(),()]- [(),(),(),()] -> [(),(),()]- [(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),(),()] -> [(),(),()]- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Bool-Bool.out
@@ -1,35 +0,0 @@-map length (tiers :: [[ Bool->Bool ]]) = [8]--length (list :: [ Bool->Bool ]) = 8--allUnique (list :: [ Bool->Bool ]) = False--ratioRepetitions (list :: [ Bool->Bool ]) = 1 % 2--tiers :: [Bool->Bool] =- [ [ \x -> case x of- False -> False- True -> False- , \x -> case x of- False -> False- True -> True- , \x -> case x of- False -> True- True -> False- , \x -> case x of- False -> True- True -> True- , \x -> case x of- False -> False- True -> False- , \x -> case x of- False -> True- True -> False- , \x -> case x of- False -> False- True -> True- , \x -> case x of- False -> True- True -> True- ]- ]
− tests/diff/tiers-mixed-Bool-MBool.out
@@ -1,67 +0,0 @@-map length (tiers :: [[ Bool->Maybe Bool ]]) = [2,8,8]--length (list :: [ Bool->Maybe Bool ]) = Infinity--allUnique (list :: [ Bool->Maybe Bool ]) = False--ratioRepetitions (list :: [ Bool->Maybe Bool ]) = 1 % 2--tiers :: [Bool->Maybe Bool] =- [ [ \x -> case x of- False -> Nothing- True -> Nothing- , \x -> case x of- False -> Nothing- True -> Nothing- ]- , [ \x -> case x of- False -> Nothing- True -> Just False- , \x -> case x of- False -> Nothing- True -> Just True- , \x -> case x of- False -> Just False- True -> Nothing- , \x -> case x of- False -> Just True- True -> Nothing- , \x -> case x of- False -> Just False- True -> Nothing- , \x -> case x of- False -> Just True- True -> Nothing- , \x -> case x of- False -> Nothing- True -> Just False- , \x -> case x of- False -> Nothing- True -> Just True- ]- , [ \x -> case x of- False -> Just False- True -> Just False- , \x -> case x of- False -> Just False- True -> Just True- , \x -> case x of- False -> Just True- True -> Just False- , \x -> case x of- False -> Just True- True -> Just True- , \x -> case x of- False -> Just False- True -> Just False- , \x -> case x of- False -> Just True- True -> Just False- , \x -> case x of- False -> Just False- True -> Just True- , \x -> case x of- False -> Just True- True -> Just True- ]- ]
− tests/diff/tiers-mixed-Bool-U.out
@@ -1,17 +0,0 @@-map length (tiers :: [[ Bool->() ]]) = [2]--length (list :: [ Bool->() ]) = 2--allUnique (list :: [ Bool->() ]) = False--ratioRepetitions (list :: [ Bool->() ]) = 1 % 2--tiers :: [Bool->()] =- [ [ \x -> case x of- False -> ()- True -> ()- , \x -> case x of- False -> ()- True -> ()- ]- ]
− tests/diff/tiers-mixed-Bools-Bools.out
@@ -1,1115 +0,0 @@-map length (tiers :: [[ [Bool]->[Bool] ]]) = [2,5,20,83,...]--length (list :: [ [Bool]->[Bool] ]) = Infinity--allUnique (list :: [ [Bool]->[Bool] ]) = False--ratioRepetitions (list :: [ [Bool]->[Bool] ]) = 43 % 110--tiers :: [[Bool]->[Bool]] =- [ [ \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [False,False]- [False] -> [False,False]- [True] -> [False,False]- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> [False,True]- [False] -> [False,True]- [True] -> [False,True]- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> [True,False]- [False] -> [True,False]- [True] -> [True,False]- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> [True,True]- [False] -> [True,True]- [True] -> [True,True]- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> [True,True]- ...- , \x -> case x of- [] -> [False,False]- [False] -> [False,False]- [True] -> [False,False]- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> [False,True]- [False] -> [False,True]- [True] -> [False,True]- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> [True,False]- [False] -> [True,False]- [True] -> [True,False]- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> [True,True]- [False] -> [True,True]- [True] -> [True,True]- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> [True,True]- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , [ \x -> case x of- [] -> [False,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> [False,False]- [True] -> [False,False]- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> []- [False] -> [False,True]- [True] -> [False,True]- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> []- [False] -> [True,False]- [True] -> [True,False]- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> []- [False] -> [True,True]- [True] -> [True,True]- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> [True,True]- ...- , \x -> case x of- [] -> [False,False,False]- [False] -> [False,False,False]- [True] -> [False,False,False]- [False,False] -> [False,False,False]- [False,True] -> [False,False,False]- [True,False] -> [False,False,False]- [True,True] -> [False,False,False]- [False,False,False] -> [False,False,False]- ...- , \x -> case x of- [] -> [False,False,True]- [False] -> [False,False,True]- [True] -> [False,False,True]- [False,False] -> [False,False,True]- [False,True] -> [False,False,True]- [True,False] -> [False,False,True]- [True,True] -> [False,False,True]- [False,False,False] -> [False,False,True]- ...- , \x -> case x of- [] -> [False,True,False]- [False] -> [False,True,False]- [True] -> [False,True,False]- [False,False] -> [False,True,False]- [False,True] -> [False,True,False]- [True,False] -> [False,True,False]- [True,True] -> [False,True,False]- [False,False,False] -> [False,True,False]- ...- , \x -> case x of- [] -> [False,True,True]- [False] -> [False,True,True]- [True] -> [False,True,True]- [False,False] -> [False,True,True]- [False,True] -> [False,True,True]- [True,False] -> [False,True,True]- [True,True] -> [False,True,True]- [False,False,False] -> [False,True,True]- ...- , \x -> case x of- [] -> [True,False,False]- [False] -> [True,False,False]- [True] -> [True,False,False]- [False,False] -> [True,False,False]- [False,True] -> [True,False,False]- [True,False] -> [True,False,False]- [True,True] -> [True,False,False]- [False,False,False] -> [True,False,False]- ...- , \x -> case x of- [] -> [True,False,True]- [False] -> [True,False,True]- [True] -> [True,False,True]- [False,False] -> [True,False,True]- [False,True] -> [True,False,True]- [True,False] -> [True,False,True]- [True,True] -> [True,False,True]- [False,False,False] -> [True,False,True]- ...- , \x -> case x of- [] -> [True,True,False]- [False] -> [True,True,False]- [True] -> [True,True,False]- [False,False] -> [True,True,False]- [False,True] -> [True,True,False]- [True,False] -> [True,True,False]- [True,True] -> [True,True,False]- [False,False,False] -> [True,True,False]- ...- , \x -> case x of- [] -> [True,True,True]- [False] -> [True,True,True]- [True] -> [True,True,True]- [False,False] -> [True,True,True]- [False,True] -> [True,True,True]- [True,False] -> [True,True,True]- [True,True] -> [True,True,True]- [False,False,False] -> [True,True,True]- ...- , \x -> case x of- [] -> [False,False,False]- [False] -> [False,False,False]- [True] -> [False,False,False]- [False,False] -> [False,False,False]- [False,True] -> [False,False,False]- [True,False] -> [False,False,False]- [True,True] -> [False,False,False]- [False,False,False] -> [False,False,False]- ...- , \x -> case x of- [] -> [False,False,True]- [False] -> [False,False,True]- [True] -> [False,False,True]- [False,False] -> [False,False,True]- [False,True] -> [False,False,True]- [True,False] -> [False,False,True]- [True,True] -> [False,False,True]- [False,False,False] -> [False,False,True]- ...- , \x -> case x of- [] -> [False,True,False]- [False] -> [False,True,False]- [True] -> [False,True,False]- [False,False] -> [False,True,False]- [False,True] -> [False,True,False]- [True,False] -> [False,True,False]- [True,True] -> [False,True,False]- [False,False,False] -> [False,True,False]- ...- , \x -> case x of- [] -> [False,True,True]- [False] -> [False,True,True]- [True] -> [False,True,True]- [False,False] -> [False,True,True]- [False,True] -> [False,True,True]- [True,False] -> [False,True,True]- [True,True] -> [False,True,True]- [False,False,False] -> [False,True,True]- ...- , \x -> case x of- [] -> [True,False,False]- [False] -> [True,False,False]- [True] -> [True,False,False]- [False,False] -> [True,False,False]- [False,True] -> [True,False,False]- [True,False] -> [True,False,False]- [True,True] -> [True,False,False]- [False,False,False] -> [True,False,False]- ...- , \x -> case x of- [] -> [True,False,True]- [False] -> [True,False,True]- [True] -> [True,False,True]- [False,False] -> [True,False,True]- [False,True] -> [True,False,True]- [True,False] -> [True,False,True]- [True,True] -> [True,False,True]- [False,False,False] -> [True,False,True]- ...- , \x -> case x of- [] -> [True,True,False]- [False] -> [True,True,False]- [True] -> [True,True,False]- [False,False] -> [True,True,False]- [False,True] -> [True,True,False]- [True,False] -> [True,True,False]- [True,True] -> [True,True,False]- [False,False,False] -> [True,True,False]- ...- , \x -> case x of- [] -> [True,True,True]- [False] -> [True,True,True]- [True] -> [True,True,True]- [False,False] -> [True,True,True]- [False,True] -> [True,True,True]- [True,False] -> [True,True,True]- [True,True] -> [True,True,True]- [False,False,False] -> [True,True,True]- ...- , \x -> case x of- [] -> []- [False] -> [False,False]- [True] -> []- [False,False] -> [False,False]- [False,True] -> [False,False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False,False]- ...- , \x -> case x of- [] -> []- [False] -> [False,True]- [True] -> []- [False,False] -> [False,True]- [False,True] -> [False,True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False,True]- ...- , \x -> case x of- [] -> []- [False] -> [True,False]- [True] -> []- [False,False] -> [True,False]- [False,True] -> [True,False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True,False]- ...- , \x -> case x of- [] -> []- [False] -> [True,True]- [True] -> []- [False,False] -> [True,True]- [False,True] -> [True,True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True,True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> [False]- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> [True]- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> [False]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> [False]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> [True]- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> [True]- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> []- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False,False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False,False]- [True,True] -> [False,False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False,True]- [False,False] -> []- [False,True] -> []- [True,False] -> [False,True]- [True,True] -> [False,True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True,False]- [False,False] -> []- [False,True] -> []- [True,False] -> [True,False]- [True,True] -> [True,False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True,True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True,True]- [True,True] -> [True,True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> []- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [False]- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> [False]- [True] -> []- [False,False] -> [False]- [False,True] -> [False]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [False]- ...- , \x -> case x of- [] -> [True]- [False] -> [True]- [True] -> []- [False,False] -> [True]- [False,True] -> [True]- [True,False] -> []- [True,True] -> []- [False,False,False] -> [True]- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> [False]- [False,False] -> []- [False,True] -> []- [True,False] -> [False]- [True,True] -> [False]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> [True]- [False,False] -> []- [False,True] -> []- [True,False] -> [True]- [True,True] -> [True]- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [False,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,False]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- , \x -> case x of- [] -> [True,True]- [False] -> []- [True] -> []- [False,False] -> []- [False,True] -> []- [True,False] -> []- [True,True] -> []- [False,False,False] -> []- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Int-Int-Int.out
@@ -1,3625 +0,0 @@-map length (tiers :: [[ Int->Int->Int ]]) = [4,12,58,287,...]--length (list :: [ Int->Int->Int ]) = Infinity--allUnique (list :: [ Int->Int->Int ]) = False--ratioRepetitions (list :: [ Int->Int->Int ]) = 315 % 361--tiers :: [Int->Int->Int] =- [ [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,-1) -> 2- (1,1) -> 2- (-1,0) -> 2- (0,2) -> 2- (1,-1) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,-1) -> 2- (1,1) -> 2- (-1,0) -> 2- (0,2) -> 2- (1,-1) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> 0- (1,0) -> -1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> -1- (1,0) -> 0- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,-1) -> 2- (1,1) -> 2- (-1,0) -> 2- (0,2) -> 2- (1,-1) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,-1) -> 2- (1,1) -> 2- (-1,0) -> 2- (0,2) -> 2- (1,-1) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> -1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> 0- (1,1) -> -1- (-1,0) -> -1- (0,2) -> -1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> -1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 1- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 1- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> -1- (0,1) -> -1- (1,0) -> -1- (0,-1) -> -1- (1,1) -> -1- (-1,0) -> 0- (0,2) -> -1- (1,-1) -> -1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,-1) -> 1- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 1- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,-1) -> 0- (1,1) -> 1- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,-1) -> 0- (1,1) -> 0- (-1,0) -> 0- (0,2) -> 0- (1,-1) -> 0- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Int-Int.out
@@ -1,2997 +0,0 @@-map length (tiers :: [[ Int->Int ]]) = [2,3,8,20,61,204,...]--length (list :: [ Int->Int ]) = Infinity--allUnique (list :: [ Int->Int ]) = False--ratioRepetitions (list :: [ Int->Int ]) = 211 % 298--tiers :: [Int->Int] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> 2- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> -2- 1 -> -2- -1 -> -2- 2 -> -2- -2 -> -2- 3 -> -2- -3 -> -2- 4 -> -2- ...- , \x -> case x of- 0 -> -2- 1 -> -2- -1 -> -2- 2 -> -2- -2 -> -2- 3 -> -2- -3 -> -2- 4 -> -2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 2- 2 -> 0- -2 -> 2- 3 -> 0- -3 -> 2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> -1- 2 -> 1- -2 -> -1- 3 -> 1- -3 -> -1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 1- 2 -> -1- -2 -> 1- 3 -> -1- -3 -> 1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 0- 2 -> 2- -2 -> 0- 3 -> 2- -3 -> 0- 4 -> 2- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , [ \x -> case x of- 0 -> -2- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> -1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> -1- 1 -> 1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 2- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- -1 -> 2- 2 -> 2- -2 -> 2- 3 -> 2- -3 -> 2- 4 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> -2- -1 -> -2- 2 -> -2- -2 -> -2- 3 -> -2- -3 -> -2- 4 -> -2- ...- , \x -> case x of- 0 -> 3- 1 -> 3- -1 -> 3- 2 -> 3- -2 -> 3- 3 -> 3- -3 -> 3- 4 -> 3- ...- , \x -> case x of- 0 -> 3- 1 -> 3- -1 -> 3- 2 -> 3- -2 -> 3- 3 -> 3- -3 -> 3- 4 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -2- 2 -> 0- -2 -> -2- 3 -> 0- -3 -> -2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 2- 3 -> 0- -3 -> 2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 2- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 2- 2 -> 1- -2 -> 2- 3 -> 1- -3 -> 2- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> -1- 3 -> 1- -3 -> -1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> -1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 2- 2 -> 0- -2 -> 2- 3 -> 0- -3 -> 2- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> -1- 2 -> -1- -2 -> -1- 3 -> -1- -3 -> -1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 1- 3 -> -1- -3 -> 1- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 1- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> -1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> -1- 2 -> 1- -2 -> -1- 3 -> 1- -3 -> -1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> -1- 2 -> 0- -2 -> -1- 3 -> 0- -3 -> -1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 1- 2 -> 2- -2 -> 1- 3 -> 2- -3 -> 1- 4 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 2- -1 -> 0- 2 -> 2- -2 -> 0- 3 -> 2- -3 -> 0- 4 -> 2- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 1- 2 -> -1- -2 -> 1- 3 -> -1- -3 -> 1- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 1- -2 -> 1- 3 -> 1- -3 -> 1- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 1- 2 -> 0- -2 -> 1- 3 -> 0- -3 -> 1- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -2- 1 -> -2- -1 -> 0- 2 -> -2- -2 -> 0- 3 -> -2- -3 -> 0- 4 -> -2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> -1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> -1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- -1 -> 0- 2 -> 2- -2 -> 0- 3 -> 2- -3 -> 0- 4 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> -1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> -1- -2 -> 0- 3 -> -1- -3 -> 0- 4 -> -1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 1- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 1- -3 -> 0- 4 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- -1 -> 0- 2 -> 0- -2 -> 0- 3 -> 0- -3 -> 0- 4 -> 0- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Ints-Ints.out
@@ -1,475 +0,0 @@-map length (tiers :: [[ [Int]->[Int] ]]) = [2,3,10,31,...]--length (list :: [ [Int]->[Int] ]) = Infinity--allUnique (list :: [ [Int]->[Int] ]) = False--ratioRepetitions (list :: [ [Int]->[Int] ]) = 13 % 23--tiers :: [[Int]->[Int]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- , \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- , \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [-1] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [-1] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [-1] -> [1,0]- ...- , \x -> case x of- [] -> [-1]- [0] -> [-1]- [0,0] -> [-1]- [1] -> [-1]- [0,0,0] -> [-1]- [0,1] -> [-1]- [1,0] -> [-1]- [-1] -> [-1]- ...- , \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [-1] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [-1] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [-1] -> [1,0]- ...- , \x -> case x of- [] -> [-1]- [0] -> [-1]- [0,0] -> [-1]- [1] -> [-1]- [0,0,0] -> [-1]- [0,1] -> [-1]- [1,0] -> [-1]- [-1] -> [-1]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [-1] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [-1] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> [0]- [1] -> []- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> [0]- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [-1] -> [0]- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [-1] -> []- ...- ]- , ...- ]
− tests/diff/tiers-mixed-MBool-Bool.out
@@ -1,75 +0,0 @@-map length (tiers :: [[ Maybe Bool->Bool ]]) = [16]--length (list :: [ Maybe Bool->Bool ]) = Infinity--allUnique (list :: [ Maybe Bool->Bool ]) = False--ratioRepetitions (list :: [ Maybe Bool->Bool ]) = 1 % 2--tiers :: [Maybe Bool->Bool] =- [ [ \x -> case x of- Nothing -> False- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> True- , \x -> case x of- Nothing -> False- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> False- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> False- Just False -> True- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> False- , \x -> case x of- Nothing -> True- Just False -> False- Just True -> True- , \x -> case x of- Nothing -> True- Just False -> True- Just True -> True- ]- ]
− tests/diff/tiers-mixed-MBool-MBool.out
@@ -1,230 +0,0 @@-map length (tiers :: [[ Maybe Bool->Maybe Bool ]]) = [2,12,24,16]--length (list :: [ Maybe Bool->Maybe Bool ]) = Infinity--allUnique (list :: [ Maybe Bool->Maybe Bool ]) = False--ratioRepetitions (list :: [ Maybe Bool->Maybe Bool ]) = 1 % 2--tiers :: [Maybe Bool->Maybe Bool] =- [ [ \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Nothing- ]- , [ \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Nothing- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Nothing- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Nothing- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Nothing- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Nothing- Just True -> Just True- ]- , [ \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just False- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just False- Just False -> Just True- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just False- , \x -> case x of- Nothing -> Just True- Just False -> Just False- Just True -> Just True- , \x -> case x of- Nothing -> Just True- Just False -> Just True- Just True -> Just True- ]- ]
− tests/diff/tiers-mixed-Nat,Nat-Nat.out
@@ -1,745 +0,0 @@-map length (tiers :: [[ (Nat,Nat)->Nat ]]) = [2,4,14,53,...]--length (list :: [ (Nat,Nat)->Nat ]) = Infinity--allUnique (list :: [ (Nat,Nat)->Nat ]) = False--ratioRepetitions (list :: [ (Nat,Nat)->Nat ]) = 41 % 73--tiers :: [(Nat,Nat)->Nat] =- [ [ \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x -> case x of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x -> case x of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 0- (1,2) -> 2- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 2- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x -> case x of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Nat-Nat-Nat.out
@@ -1,3625 +0,0 @@-map length (tiers :: [[ Nat->Nat->Nat ]]) = [4,12,58,287,...]--length (list :: [ Nat->Nat->Nat ]) = Infinity--allUnique (list :: [ Nat->Nat->Nat ]) = False--ratioRepetitions (list :: [ Nat->Nat->Nat ]) = 313 % 361--tiers :: [Nat->Nat->Nat] =- [ [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 2- (0,2) -> 2- (1,1) -> 2- (2,0) -> 2- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , [ \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x y -> case (x,y) of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x y -> case (x,y) of- (0,0) -> 3- (0,1) -> 3- (1,0) -> 3- (0,2) -> 3- (1,1) -> 3- (2,0) -> 3- (0,3) -> 3- (1,2) -> 3- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 2- (1,0) -> 0- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 0- (1,0) -> 2- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 2- (0,2) -> 0- (1,1) -> 2- (2,0) -> 0- (0,3) -> 0- (1,2) -> 2- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 1- (0,2) -> 1- (1,1) -> 1- (2,0) -> 1- (0,3) -> 1- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 1- (0,2) -> 0- (1,1) -> 1- (2,0) -> 0- (0,3) -> 0- (1,2) -> 1- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 2- (0,1) -> 2- (1,0) -> 0- (0,2) -> 2- (1,1) -> 0- (2,0) -> 2- (0,3) -> 2- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 1- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 0- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 1- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 1- (0,1) -> 1- (1,0) -> 0- (0,2) -> 1- (1,1) -> 0- (2,0) -> 0- (0,3) -> 1- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- , \x y -> case (x,y) of- (0,0) -> 0- (0,1) -> 0- (1,0) -> 0- (0,2) -> 0- (1,1) -> 0- (2,0) -> 0- (0,3) -> 0- (1,2) -> 0- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Nat-Nat.out
@@ -1,2997 +0,0 @@-map length (tiers :: [[ Nat->Nat ]]) = [2,3,8,20,61,204,...]--length (list :: [ Nat->Nat ]) = Infinity--allUnique (list :: [ Nat->Nat ]) = False--ratioRepetitions (list :: [ Nat->Nat ]) = 85 % 149--tiers :: [Nat->Nat] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 3- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 3- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 4- 1 -> 4- 2 -> 4- 3 -> 4- 4 -> 4- 5 -> 4- 6 -> 4- 7 -> 4- ...- , \x -> case x of- 0 -> 4- 1 -> 4- 2 -> 4- 3 -> 4- 4 -> 4- 5 -> 4- 6 -> 4- 7 -> 4- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 3- 4 -> 0- 5 -> 3- 6 -> 0- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- 3 -> 2- 4 -> 1- 5 -> 2- 6 -> 1- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- 3 -> 1- 4 -> 2- 5 -> 1- 6 -> 2- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 3- 3 -> 0- 4 -> 3- 5 -> 0- 6 -> 3- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , [ \x -> case x of- 0 -> 4- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 3- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 3- 3 -> 3- 4 -> 3- 5 -> 3- 6 -> 3- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 4- 2 -> 4- 3 -> 4- 4 -> 4- 5 -> 4- 6 -> 4- 7 -> 4- ...- , \x -> case x of- 0 -> 5- 1 -> 5- 2 -> 5- 3 -> 5- 4 -> 5- 5 -> 5- 6 -> 5- 7 -> 5- ...- , \x -> case x of- 0 -> 5- 1 -> 5- 2 -> 5- 3 -> 5- 4 -> 5- 5 -> 5- 6 -> 5- 7 -> 5- ...- , \x -> case x of- 0 -> 0- 1 -> 4- 2 -> 0- 3 -> 4- 4 -> 0- 5 -> 4- 6 -> 0- 7 -> 4- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 3- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 3- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 3- 2 -> 1- 3 -> 3- 4 -> 1- 5 -> 3- 6 -> 1- 7 -> 3- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 2- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 2- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 3- 2 -> 0- 3 -> 3- 4 -> 0- 5 -> 3- 6 -> 0- 7 -> 3- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- 3 -> 2- 4 -> 2- 5 -> 2- 6 -> 2- 7 -> 2- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 1- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 1- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 1- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 1- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 1- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- 3 -> 2- 4 -> 0- 5 -> 2- 6 -> 0- 7 -> 2- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 1- 2 -> 3- 3 -> 1- 4 -> 3- 5 -> 1- 6 -> 3- 7 -> 1- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 3- 3 -> 0- 4 -> 3- 5 -> 0- 6 -> 3- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 2- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 2- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 1- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 2- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 1- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- 3 -> 1- 4 -> 0- 5 -> 1- 6 -> 0- 7 -> 1- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 4- 1 -> 0- 2 -> 4- 3 -> 0- 4 -> 4- 5 -> 0- 6 -> 4- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 3- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 3- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 2- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 1- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 3- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 3- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 2- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 1- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- 3 -> 0- 4 -> 0- 5 -> 0- 6 -> 0- 7 -> 0- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Nat-U.out
@@ -1,677 +0,0 @@-map length (tiers :: [[ Nat->() ]]) = [2,1,2,5,14,42,...]--length (list :: [ Nat->() ]) = Infinity--allUnique (list :: [ Nat->() ]) = False--ratioRepetitions (list :: [ Nat->() ]) = 65 % 66--tiers :: [Nat->()] =- [ [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , [ \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- , \x -> case x of- 0 -> ()- 1 -> ()- 2 -> ()- 3 -> ()- 4 -> ()- 5 -> ()- 6 -> ()- 7 -> ()- ...- ]- , ...- ]
− tests/diff/tiers-mixed-Nat2-Nat2.out
@@ -1,37 +0,0 @@-map length (tiers :: [[ Nat2->Nat2 ]]) = [2,4,2]--length (list :: [ Nat2->Nat2 ]) = 8--allUnique (list :: [ Nat2->Nat2 ]) = False--ratioRepetitions (list :: [ Nat2->Nat2 ]) = 1 % 2--tiers :: [Nat2->Nat2] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- , \x -> case x of- 0 -> 0- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- , \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- ]- ]
− tests/diff/tiers-mixed-Nat2-Nat3.out
@@ -1,69 +0,0 @@-map length (tiers :: [[ Nat2->Nat3 ]]) = [2,4,6,4,2]--length (list :: [ Nat2->Nat3 ]) = Infinity--allUnique (list :: [ Nat2->Nat3 ]) = False--ratioRepetitions (list :: [ Nat2->Nat3 ]) = 1 % 2--tiers :: [Nat2->Nat3] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- , \x -> case x of- 0 -> 0- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- , \x -> case x of- 0 -> 0- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- , \x -> case x of- 0 -> 0- 1 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- , \x -> case x of- 0 -> 1- 1 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- , \x -> case x of- 0 -> 2- 1 -> 2- ]- ]
− tests/diff/tiers-mixed-Nat3-Nat2.out
@@ -1,78 +0,0 @@-map length (tiers :: [[ Nat3->Nat2 ]]) = [2,6,6,2]--length (list :: [ Nat3->Nat2 ]) = Infinity--allUnique (list :: [ Nat3->Nat2 ]) = False--ratioRepetitions (list :: [ Nat3->Nat2 ]) = 1 % 2--tiers :: [Nat3->Nat2] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- ]- ]
− tests/diff/tiers-mixed-Nat3-Nat3.out
@@ -1,233 +0,0 @@-map length (tiers :: [[ Nat3->Nat3 ]]) = [2,6,12,14,12,6,2]--length (list :: [ Nat3->Nat3 ]) = Infinity--allUnique (list :: [ Nat3->Nat3 ]) = False--ratioRepetitions (list :: [ Nat3->Nat3 ]) = 1 % 2--tiers :: [Nat3->Nat3] =- [ [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 0- ]- , [ \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 0- , \x -> case x of- 0 -> 0- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 0- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 1- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 0- ]- , [ \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 1- , \x -> case x of- 0 -> 1- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 1- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 1- ]- , [ \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- , \x -> case x of- 0 -> 2- 1 -> 2- 2 -> 2- ]- ]
− tests/diff/tiers-mixed-Nats-Nats.out
@@ -1,475 +0,0 @@-map length (tiers :: [[ [Nat]->[Nat] ]]) = [2,3,10,31,...]--length (list :: [ [Nat]->[Nat] ]) = Infinity--allUnique (list :: [ [Nat]->[Nat] ]) = False--ratioRepetitions (list :: [ [Nat]->[Nat] ]) = 13 % 23--tiers :: [[Nat]->[Nat]] =- [ [ \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- , \x -> case x of- [] -> [0,0]- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> [1]- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , [ \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- , \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [2] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [2] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [2] -> [1,0]- ...- , \x -> case x of- [] -> [2]- [0] -> [2]- [0,0] -> [2]- [1] -> [2]- [0,0,0] -> [2]- [0,1] -> [2]- [1,0] -> [2]- [2] -> [2]- ...- , \x -> case x of- [] -> [0,0,0]- [0] -> [0,0,0]- [0,0] -> [0,0,0]- [1] -> [0,0,0]- [0,0,0] -> [0,0,0]- [0,1] -> [0,0,0]- [1,0] -> [0,0,0]- [2] -> [0,0,0]- ...- , \x -> case x of- [] -> [0,1]- [0] -> [0,1]- [0,0] -> [0,1]- [1] -> [0,1]- [0,0,0] -> [0,1]- [0,1] -> [0,1]- [1,0] -> [0,1]- [2] -> [0,1]- ...- , \x -> case x of- [] -> [1,0]- [0] -> [1,0]- [0,0] -> [1,0]- [1] -> [1,0]- [0,0,0] -> [1,0]- [0,1] -> [1,0]- [1,0] -> [1,0]- [2] -> [1,0]- ...- , \x -> case x of- [] -> [2]- [0] -> [2]- [0,0] -> [2]- [1] -> [2]- [0,0,0] -> [2]- [0,1] -> [2]- [1,0] -> [2]- [2] -> [2]- ...- , \x -> case x of- [] -> []- [0] -> [0,0]- [0,0] -> [0,0]- [1] -> [0,0]- [0,0,0] -> [0,0]- [0,1] -> [0,0]- [1,0] -> [0,0]- [2] -> [0,0]- ...- , \x -> case x of- [] -> []- [0] -> [1]- [0,0] -> [1]- [1] -> [1]- [0,0,0] -> [1]- [0,1] -> [1]- [1,0] -> [1]- [2] -> [1]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> [0]- [1] -> []- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> []- [1] -> [0]- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> [0]- [0,0,0] -> []- [0,1] -> []- [1,0] -> [0]- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> [0]- [0,0] -> [0]- [1] -> []- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> []- [2] -> [0]- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> []- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> [0]- [0,0] -> [0]- [1] -> [0]- [0,0,0] -> [0]- [0,1] -> [0]- [1,0] -> [0]- [2] -> [0]- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [0,0]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- , \x -> case x of- [] -> [1]- [0] -> []- [0,0] -> []- [1] -> []- [0,0,0] -> []- [0,1] -> []- [1,0] -> []- [2] -> []- ...- ]- , ...- ]
− tests/diff/tiers-mixed-U-Bool.out
@@ -1,19 +0,0 @@-map length (tiers :: [[ ()->Bool ]]) = [4]--length (list :: [ ()->Bool ]) = 4--allUnique (list :: [ ()->Bool ]) = False--ratioRepetitions (list :: [ ()->Bool ]) = 1 % 2--tiers :: [()->Bool] =- [ [ \x -> case x of- () -> False- , \x -> case x of- () -> True- , \x -> case x of- () -> False- , \x -> case x of- () -> True- ]- ]
− tests/diff/tiers-mixed-U-Nat.out
@@ -1,41 +0,0 @@-map length (tiers :: [[ ()->Nat ]]) = [2,2,2,2,2,2,...]--length (list :: [ ()->Nat ]) = Infinity--allUnique (list :: [ ()->Nat ]) = False--ratioRepetitions (list :: [ ()->Nat ]) = 1 % 2--tiers :: [()->Nat] =- [ [ \x -> case x of- () -> 0- , \x -> case x of- () -> 0- ]- , [ \x -> case x of- () -> 1- , \x -> case x of- () -> 1- ]- , [ \x -> case x of- () -> 2- , \x -> case x of- () -> 2- ]- , [ \x -> case x of- () -> 3- , \x -> case x of- () -> 3- ]- , [ \x -> case x of- () -> 4- , \x -> case x of- () -> 4- ]- , [ \x -> case x of- () -> 5- , \x -> case x of- () -> 5- ]- , ...- ]
− tests/diff/tiers-mixed-U-U.out
@@ -1,15 +0,0 @@-map length (tiers :: [[ ()->() ]]) = [2]--length (list :: [ ()->() ]) = 2--allUnique (list :: [ ()->() ]) = False--ratioRepetitions (list :: [ ()->() ]) = 1 % 2--tiers :: [()->()] =- [ [ \x -> case x of- () -> ()- , \x -> case x of- () -> ()- ]- ]
− tests/diff/tiers-mixed-Us-Us.out
@@ -1,265 +0,0 @@-map length (tiers :: [[ [()]->[()] ]]) = [2,3,7,13,...]--length (list :: [ [()]->[()] ]) = Infinity--allUnique (list :: [ [()]->[()] ]) = False--ratioRepetitions (list :: [ [()]->[()] ]) = 14 % 25--tiers :: [[()]->[()]] =- [ [ \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [()]- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> [()]- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> [(),()]- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- , \x -> case x of- [] -> [(),()]- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , [ \x -> case x of- [] -> [(),()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- , \x -> case x of- [] -> [(),(),()]- [()] -> [(),(),()]- [(),()] -> [(),(),()]- [(),(),()] -> [(),(),()]- [(),(),(),()] -> [(),(),()]- [(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),(),()] -> [(),(),()]- ...- , \x -> case x of- [] -> [(),(),()]- [()] -> [(),(),()]- [(),()] -> [(),(),()]- [(),(),()] -> [(),(),()]- [(),(),(),()] -> [(),(),()]- [(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),()] -> [(),(),()]- [(),(),(),(),(),(),()] -> [(),(),()]- ...- , \x -> case x of- [] -> []- [()] -> [(),()]- [(),()] -> [(),()]- [(),(),()] -> [(),()]- [(),(),(),()] -> [(),()]- [(),(),(),(),()] -> [(),()]- [(),(),(),(),(),()] -> [(),()]- [(),(),(),(),(),(),()] -> [(),()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> []- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> []- [()] -> [()]- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [()]- [()] -> [()]- [(),()] -> [()]- [(),(),()] -> [()]- [(),(),(),()] -> [()]- [(),(),(),(),()] -> [()]- [(),(),(),(),(),()] -> [()]- [(),(),(),(),(),(),()] -> [()]- ...- , \x -> case x of- [] -> [()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- , \x -> case x of- [] -> [(),()]- [()] -> []- [(),()] -> []- [(),(),()] -> []- [(),(),(),()] -> []- [(),(),(),(),()] -> []- [(),(),(),(),(),()] -> []- [(),(),(),(),(),(),()] -> []- ...- ]- , ...- ]
− tests/diff/tiers.out
@@ -1,10 +0,0 @@-map length (tiers :: [[ () ]]) = [1]--length (list :: [ () ]) = 1--allUnique (list :: [ () ]) = True--ratioRepetitions (list :: [ () ]) = 0 % 1--tiers :: [()] =- [[()]]
− tests/test-derive.hs
@@ -1,106 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-{-# LANGUAGE TemplateHaskell, CPP #-}-import Test-import Test.LeanCheck-import Test.LeanCheck.Derive-import System.Exit (exitFailure)-import Data.List (elemIndices,sort)-import Test.LeanCheck.Utils.Operators--data D0 = D0 deriving Show-data D1 a = D1 a deriving Show-data D2 a b = D2 a b deriving Show-data D3 a b c = D3 a b c deriving Show-data C1 a = C11 a | C10 deriving Show-data C2 a b = C22 a b | C21 a | C20 deriving Show-data I a b = a :+ b deriving Show--deriveListable ''D0-deriveListable ''D1-deriveListable ''D2-deriveListable ''D3-deriveListable ''C1-deriveListable ''C2-deriveListable ''I---- Nested datatype cascade-data Nested = Nested N0 (N1 Int) (N2 Int Int)-data N0 = R0 Int-data N1 a = R1 a-data N2 a b = R2 a b-deriveListableCascading ''Nested---- Recursive nested datatype cascade-data RN = RN RN0 (RN1 Int) (RN2 Int RN)-data RN0 = Nest0 Int | Recurse0 RN-data RN1 a = Nest1 a | Recurse1 RN-data RN2 a b = Nest2 a b | Recurse2 RN-deriveListableCascading ''RN---- Type synonyms-data Pair a = Pair a a-type Alias a = Pair a--- deriveListable ''Alias -- this will fail-deriveListableCascading ''Alias-deriveListableIfNeeded ''Alias -- only works because instance already exists---- Nested type synonyms-data Triple a = Triple a a a-type Tralias a = Triple a-data Pairiple a = Pairriple (Tralias a) (Tralias a)-deriveListableCascading ''Pairiple---- Those should have no effect (instance already exists):-{- uncommenting those should generate warnings-deriveListable ''Bool-deriveListable ''Maybe-deriveListable ''Either--}---- Those should not generate warnings-deriveListableIfNeeded ''Bool-deriveListableIfNeeded ''Maybe-deriveListableIfNeeded ''Either--main :: IO ()-main =- case elemIndices False (tests 100) of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests n =- [ True-- , map unD0 list =| n |= list- , map unD1 list =| n |= (list :: [Int])- , map unD2 list =| n |= (list :: [(Int,Int)])- , map unD3 list =| n |= (list :: [(Int,Int,Int)])-- , map unD1 list == (list :: [()])- , map unD2 list == (list :: [((),())])- , map unD3 list == (list :: [((),(),())])-- , map unD1 list == (list :: [Bool])- , map unD2 list == (list :: [(Bool,Bool)])- , map unD3 list == (list :: [(Bool,Bool,Bool)])-- , (tiers :: [[ Bool ]]) =| 6 |= $(deriveTiers ''Bool)- , (tiers :: [[ [Int] ]]) =| 6 |= $(deriveTiers ''[])- , (tiers :: [[ [Bool] ]]) =| 6 |= $(deriveTiers ''[])- , (tiers :: [[ Maybe Int ]]) =| 6 |= $(deriveTiers ''Maybe)- , (tiers :: [[ Maybe Bool ]]) =| 6 |= $(deriveTiers ''Maybe)- , ([]:tiers :: [[Either Bool Int]]) =$ map sort . take 6 $= $(deriveTiers ''Either)-- , (list :: [ Bool ]) =| n |= $(deriveList ''Bool)- , (list :: [ [Int] ]) =| n |= $(deriveList ''[])- , (list :: [ [Bool] ]) =| n |= $(deriveList ''[])- , (list :: [ Maybe Int ]) =| n |= $(deriveList ''Maybe)- , (list :: [ Maybe Bool ]) =| n |= $(deriveList ''Maybe)- ]- where- unD0 (D0) = ()- unD1 (D1 x) = (x)- unD2 (D2 x y) = (x,y)- unD3 (D3 x y z) = (x,y,z)
− tests/test-error.hs
@@ -1,64 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test ()--import System.Exit (exitFailure)-import Data.List (elemIndices,sort)--import Test.LeanCheck.Error-import Test.LeanCheck.Utils.Types (Nat)-import Data.List (sort)--main :: IO ()-main =- case elemIndices False (tests 100) of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests n =- [ True-- , not $ holds n prop_sortMinE- , fails n prop_sortMinE- , counterExample n prop_sortMinE == Just ["[]"]- , counterExamples n prop_sortMinE == [["[]"]]-- , holds n prop_sortMin- , not $ fails n prop_sortMin- , counterExample n prop_sortMin == Nothing- , counterExamples n prop_sortMin == []-- , exists n someNumbers- , witness n someNumbers == Just ["2"]- , witnesses n someNumbers == map ((:[]).show) [2,3,5,7,11,13,17]-- , exists n someOthers- , witness n someOthers == Just ["2","2"]- , witnesses (100*n) someOthers == (map.map) show [[2,2],[2,4],[3,3]- ,[2,8],[3,9],[3,27]]- ]--prop_sortMinE :: [Nat] -> Bool-prop_sortMinE xs = head (sort xs) == minimum (xs::[Nat])--prop_sortMin :: [Nat] -> Bool-prop_sortMin xs = not (null xs)- ==> head (sort xs) == minimum (xs::[Nat])--someNumbers :: Int -> Bool-someNumbers 2 = True-someNumbers 3 = True-someNumbers 5 = True-someNumbers 7 = True-someNumbers 11 = True-someNumbers 13 = True-someNumbers 17 = True--someOthers :: Int -> Int -> Bool-someOthers = \x -> case x of 2 -> \y -> case y of 2 -> True- 4 -> True- 8 -> True- 3 -> \y -> case y of 3 -> True- 9 -> True- 27 -> True
− tests/test-fun.hs
@@ -1,29 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test--import System.Exit (exitFailure)-import Data.List (elemIndices, sort, nub, delete)--import Test.LeanCheck-import Test.LeanCheck.Function.ListsOfPairs-import Test.LeanCheck.Utils---main :: IO ()-main =- case elemIndices False tests of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests =- [ True- -- TODO: add some tests here- ]--allUnique :: Ord a => [a] -> Bool-allUnique [] = True-allUnique (x:xs) = x `notElem` xs- && allUnique (filter (< x) xs)- && allUnique (filter (> x) xs)
− tests/test-funshow.hs
@@ -1,80 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test--import System.Exit (exitFailure)-import Data.List (elemIndices,sort)-import Test.LeanCheck.Function.ShowFunction-import Test.LeanCheck.Function.Show-import Test.LeanCheck.Utils.TypeBinding--main :: IO ()-main =- case elemIndices False tests of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure---tests =- [ True-- -- undefined values --- , showFunction 2 int == "undefined"- , showFunction 2 bool == "undefined"- , showFunction 2 char == "undefined"- , showFunctionLine 10 (int >- int) == "\\x -> case x of ..."- , showFunctionLine 10 (bool >- bool) == "\\x -> undefined"-- -- partially defined --- , showFunctionLine 2 (\x -> case x of True -> True)- == "\\x -> case x of True -> True"- , showFunctionLine 10 (\x -> case (x::Int) of 3 -> (4::Int); 5 -> 6)- == "\\x -> case x of 3 -> 4; 5 -> 6; ..."- , showFunctionLine 10 (\x y -> case (x::Int,y::Int) of (1,2) -> (3::Int); (2,1) -> 3)- == "\\x y -> case (x,y) of (1,2) -> 3; (2,1) -> 3; ..."-- -- fully defined, infinite --- , showFunction 3 ((+) -:> int)- == "\\x y -> case (x,y) of\n"- ++ " (0,0) -> 0\n"- ++ " (0,1) -> 1\n"- ++ " (1,0) -> 1\n"- ++ " ...\n"- , showFunction 3 ((++) -:> [int])- == "\\x y -> case (x,y) of\n"- ++ " ([],[]) -> []\n"- ++ " ([],[0]) -> [0]\n"- ++ " ([0],[]) -> [0]\n"- ++ " ...\n"- , showFunction 4 (sort -:> [char])- == "\\x -> case x of\n"- ++ " \"\" -> \"\"\n"- ++ " \"a\" -> \"a\"\n"- ++ " \"aa\" -> \"aa\"\n"- ++ " \" \" -> \" \"\n"- ++ " ...\n"--- -- fully defined, finite --- , showFunction 1 not- == "\\x -> case x of\n"- ++ " False -> True\n"- ++ " ...\n"- , showFunction 2 not- == "\\x -> case x of\n"- ++ " False -> True\n"- ++ " True -> False\n"- , showFunction 3 (&&)- == "\\x y -> case (x,y) of\n"- ++ " (False,False) -> False\n"- ++ " (False,True) -> False\n"- ++ " (True,False) -> False\n"- ++ " ...\n"- , showFunction 4 (&&)- == "\\x y -> case (x,y) of\n"- ++ " (False,False) -> False\n"- ++ " (False,True) -> False\n"- ++ " (True,False) -> False\n"- ++ " (True,True) -> True\n"- ]
− tests/test-generic.hs
@@ -1,65 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-{-# LANGUAGE DeriveGeneric, StandaloneDeriving #-}-import Test-import Test.LeanCheck-import Test.LeanCheck.Generic-import System.Exit (exitFailure)-import Data.List (elemIndices,sort)-import Test.LeanCheck.Utils.Operators-import GHC.Generics (Generic)--data D0 = D0 deriving (Eq, Show, Generic)-data D1 a = D1 a deriving (Eq, Show, Generic)-data D2 a b = D2 a b deriving (Eq, Show, Generic)-data D3 a b c = D3 a b c deriving (Eq, Show, Generic)-data C1 a = C11 a | C10 deriving (Eq, Show, Generic)-data C2 a b = C22 a b | C21 a | C20 deriving (Eq, Show, Generic)-data I a b = a :+ b deriving (Eq, Show, Generic)--instance Listable D0 where tiers = genericTiers--instance Listable a => Listable (D1 a) where tiers = genericTiers--instance (Listable a, Listable b)- => Listable (D2 a b) where tiers = genericTiers--instance (Listable a, Listable b, Listable c)- => Listable (D3 a b c) where tiers = genericTiers--instance Listable a => Listable (C1 a) where tiers = genericTiers--instance (Listable a, Listable b)- => Listable (C2 a b) where tiers = genericTiers--instance (Listable a, Listable b)- => Listable (I a b) where tiers = genericTiers--main :: IO ()-main =- case elemIndices False (tests 100) of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests n =- [ True-- , map unD0 list =| n |= list- , map unD1 list =| n |= (list :: [Int])- , map unD2 list =| n |= (list :: [(Int,Int)])- , map unD3 list =| n |= (list :: [(Int,Int,Int)])-- , map unD1 list == (list :: [()])- , map unD2 list == (list :: [((),())])- , map unD3 list == (list :: [((),(),())])-- , map unD1 list == (list :: [Bool])- , map unD2 list == (list :: [(Bool,Bool)])- , map unD3 list == (list :: [(Bool,Bool,Bool)])- ]- where- unD0 (D0) = ()- unD1 (D1 x) = (x)- unD2 (D2 x y) = (x,y)- unD3 (D3 x y z) = (x,y,z)
− tests/test-io.hs
@@ -1,10 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test-import Test.LeanCheck.IO--main :: IO ()-main = do- check $ \x -> (x::Int) + x == 2*x -- should pass---check $ \x -> (x::Int) + x == x -- should fail, falsifiable---check $ \x -> (x::Int) `div` x == 1 -- should fail, exception
− tests/test-main.hs
@@ -1,101 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test--import System.Exit (exitFailure)-import Data.List (elemIndices)--import Test.LeanCheck-import Test.LeanCheck.Utils--import Data.Ratio-import Data.Word (Word)--main :: IO ()-main =- case elemIndices False tests of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests :: [Bool]-tests =- [ True-- -- interleave- , [1,2,3] +| [0,0,0] == [1,0,2,0,3,0]- , take 3 ([1,2] +| (0:undefined)) == [1,0,2]- , [0,2..] +| [1,3..] =| 100 |= [0,1..]-- -- etc- , tNatPairOrd 100- , tNatTripleOrd 200- , tNatQuadrupleOrd 300- , tNatQuintupleOrd 400- , tNatListOrd 500- , tListsOfNatOrd 500- , listsOf (tiers::[[Nat]]) =| 10 |= tiers-- -- tests!- , counterExample 10 (\x y -> x + y /= (x::Int)) == Just ["0", "0"]- , counterExample 10 (\x y -> x + y == (x::Int)) == Just ["0", "1"]- , counterExample 10 (maybe True (==(0::Int))) == Just ["(Just 1)"]- , holds 100 (\x -> x == (x::Int))-- -- For when NaN is in the enumeration (by default, it is not):- --, fails 100 (\x -> x == (x::Float)) -- NaN != NaN :-)- --, counterExample 100 (\x -> x == (x::Float)) == Just ["NaN"]- , counterExample 10 (\x y -> x + y == (x::Float)) == Just ["0.0","1.0"]- , counterExample 10 (\x y -> x + y == (x::Double)) == Just ["0.0","1.0"]- , holds 50 (\x -> x + 1 /= (x::Int))- , counterExample 50 (\x -> x + 1 /= (x::Float)) == Just ["Infinity"]- || counterExample 50 (\x -> x + 1 /= (x::Float)) == Just ["inf"] -- bug on Hugs 2006-09?- , counterExample 50 (\x -> x + 1 /= (x::Double)) == Just ["Infinity"]- || counterExample 50 (\x -> x + 1 /= (x::Float)) == Just ["inf"] -- bug on Hugs 2006-09?- , allUnique (take 100 list :: [Float])- , allUnique (take 500 list :: [Double])-- , allUnique (take 500 list :: [Rational])- , allUnique (take 100 list :: [Ratio Nat])- , orderedOn (\r -> numerator r + denominator r) (take 500 (list :: [Ratio Nat]))- , orderedOn (\r -> abs (numerator r) + abs(denominator r)) (take 500 (list :: [Rational]))-- , list == [LT, EQ, GT]- , orderedOn length (take 500 (list :: [[Ordering]]))- , orderedOn length (take 500 (list :: [[Bool]]))-- , strictlyOrderedOn (\xs -> (sum $ map (+1) xs, xs)) (take 500 (list :: [[Word]]))-- , tPairEqParams 100- , tTripleEqParams 100-- , tProductsIsFilterByLength (tiers :: [[ Nat ]]) 10 `all` [1..10]- , tProductsIsFilterByLength (tiers :: [[ Bool ]]) 6 `all` [1..10]- , tProductsIsFilterByLength (tiers :: [[ [Nat] ]]) 6 `all` [1..10]-- , holds 100 $ (\/) ==== zipWith' (++) [] [] -:> [[uint2]]- , holds 100 $ (\/) ==== zipWith' (++) [] [] -:> [[bool]]- , holds 100 $ (\\//) ==== zipWith' (+|) [] [] -:> [[uint2]]- , holds 100 $ (\\//) ==== zipWith' (+|) [] [] -:> [[bool]]- ]--allUnique :: Ord a => [a] -> Bool-allUnique [] = True-allUnique (x:xs) = x `notElem` xs- && allUnique (filter (< x) xs)- && allUnique (filter (> x) xs)----- | 'zipwith\'' works similarly to 'zipWith', but takes neutral elements to--- operate when one of the lists is exhausted, so, you don't loose elements.------ > zipWith' f z e [x,y] [a,b,c,d] == [f x a, f y b, f z c, f z d]------ > zipWith' f z e [x,y,z] [a] == [f x a, f y e, f z e]------ > zipWith' (+) 0 0 [1,2,3] [1,2,3,4,5,6] == [2,4,6,4,5,6]-zipWith' :: (a->b->c) -> a -> b -> [a] -> [b] -> [c]-zipWith' _ _ _ [] [] = []-zipWith' f _ zy xs [] = map (`f` zy) xs-zipWith' f zx _ [] ys = map (f zx) ys-zipWith' f zx zy (x:xs) (y:ys) = f x y : zipWith' f zx zy xs ys
− tests/test-operators.hs
@@ -1,141 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test--import System.Exit (exitFailure)-import Data.List (elemIndices,sort)-import Test.LeanCheck-import Test.LeanCheck.Utils--import Data.List (isPrefixOf)-import Data.Function (on)--main :: IO ()-main =- case elemIndices False (tests 100) of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests :: Int -> [Bool]-tests n =- [ True-- , holds n $ (not . not) === id- , fails n $ abs === (* (-1)) -:> int- , holds n $ (+) ==== (\x y -> sum [x,y]) -:> int- , fails n $ (+) ==== (*) -:> int-- , holds n $ const True &&& const True -:> bool- , fails n $ const False &&& const True -:> int- , holds n $ const False ||| const True -:> int- , fails n $ const False ||| const False -:> int-- , holds n $ commutative (+) -:> int- , holds n $ commutative (*) -:> int- , holds n $ commutative (++) -:> [()]- , holds n $ commutative (&&)- , holds n $ commutative (||)- , fails n $ commutative (-) -:> int- , fails n $ commutative (++) -:> [bool]- , fails n $ commutative (==>)-- , holds n $ associative (+) -:> int- , holds n $ associative (*) -:> int- , holds n $ associative (++) -:> [int]- , holds n $ associative (&&)- , holds n $ associative (||)- , fails n $ associative (-) -:> int- , fails n $ associative (==>)-- , holds n $ distributive (*) (+) -:> int- , fails n $ distributive (+) (*) -:> int-- , holds n $ symmetric (==) -:> int- , holds n $ symmetric (/=) -:> int- , fails n $ symmetric (<=) -:> int-- , holds n $ reflexive (==) -:> int- , holds n $ irreflexive (/=) -:> int-- , holds n $ (<) `symmetric2` (>) -:> int- , holds n $ (<=) `symmetric2` (>=) -:> int- , fails n $ (<) `symmetric2` (>=) -:> int- , fails n $ (<=) `symmetric2` (>) -:> int-- , holds n $ transitive (==) -:> bool- , holds n $ transitive (<) -:> bool- , holds n $ transitive (<=) -:> bool- , fails n $ transitive (/=) -:> bool- , holds n $ transitive (==) -:> int- , holds n $ transitive (<) -:> int- , holds n $ transitive (<=) -:> int- , fails n $ transitive (/=) -:> int-- , holds n $ asymmetric (<) -:> int- , holds n $ antisymmetric (<=) -:> int- , fails n $ asymmetric (<=) -:> int- , holds n $ asymmetric (>) -:> int- , holds n $ antisymmetric (>=) -:> int- , fails n $ asymmetric (>=) -:> int-- , holds n $ equivalence (==) -:> int- , holds n $ equivalence ((==) `on` fst) -:> (int,int)- , holds n $ equivalence ((==) `on` length) -:> [int]-- , holds n $ totalOrder (<=) -:> int- , holds n $ strictTotalOrder (<) -:> int- , fails n $ totalOrder (<) -:> int- , fails n $ strictTotalOrder (<=) -:> int- , holds n $ totalOrder (>=) -:> int- , holds n $ strictTotalOrder (>) -:> int- , fails n $ totalOrder (>) -:> int- , fails n $ strictTotalOrder (>=) -:> int-- , holds n $ partialOrder isPrefixOf -:> [int]- , fails n $ totalOrder isPrefixOf -:> [int]-- , holds n $ comparison compare -:> int- , holds n $ comparison compare -:> bool- , holds n $ comparison compare -:> ()-- , holds n $ okEqOrd -:> ()- , holds n $ okEqOrd -:> int- , holds n $ okEqOrd -:> char- , holds n $ okEqOrd -:> bool- , holds n $ okEqOrd -:> [()]- , holds n $ okEqOrd -:> [int]- , holds n $ okEqOrd -:> [bool]- , holds n $ okEqOrd -:> float -- fails if NaN is included in enumeration- , holds n $ okEqOrd -:> double -- fails if NaN is included in enumeration- , holds n $ okEqOrd -:> rational- , holds n $ okEqOrd -:> nat- , holds n $ okEqOrd -:> natural-- , holds n $ okNum -:> int- , holds n $ okNum -:> integer--- NOTE: the following two fail on Hugs due to a bug on Hugs.---, holds n $ \x y z -> none isInfinite [x,y,z] ==> okNum x y (z -: float)---, holds n $ \x y z -> none isInfinite [x,y,z] ==> okNum x y (z -: double)- , holds n $ okNum -:> rational- , holds n $ okNum -:> nat- , holds n $ okNum -:> natural-- , holds n $ idempotent id -:> int- , holds n $ idempotent abs -:> int- , holds n $ idempotent sort -:> [bool]- , fails n $ idempotent not-- , holds n $ identity id -:> int- , holds n $ identity (+0) -:> int- , holds n $ identity sort -:> [()]- , holds n $ identity (not . not)- , fails n $ identity not-- , holds n $ neverIdentity not- , fails n $ neverIdentity abs -:> int- , fails n $ neverIdentity negate -:> int- ]--none :: (a -> Bool) -> [a] -> Bool-none p = not . or . map p
− tests/test-sdist
@@ -1,33 +0,0 @@-#!/bin/bash-#-# test-sdist: tests the package generated by "cabal sdist".-#-# Copyright (c) 2015-2018 Rudy Matela.-# Distributed under the 3-Clause BSD licence.-export LC_ALL=C # consistent sort-pkgver=` cat *.cabal | grep "^version:" | sed -e "s/version: *//"`-pkgname=`cat *.cabal | grep "^name:" | sed -e "s/name: *//"`-pkg=$pkgname-$pkgver-set -x-cabal sdist &&-cd dist &&-tar -tf $pkg.tar.gz | sort --ignore-case > ls-cabal-i &&-tar -tf $pkg.tar.gz | sort --ignore-case --unique > ls-cabal-iu &&-diff -rud ls-cabal-i ls-cabal-iu &&-rm -f ls-cabal ls-cabal-ignore-case &&-if [ -d ../.git ]-then- # on git repo, test if files are the same- git -C .. ls-files | sort > ls-git &&- tar -tf $pkg.tar.gz | grep -v "/$" | sed -e "s,$pkg/,," | sort > ls-cabal &&- diff -rud ls-git ls-cabal &&- rm -f ls-git ls-cabal-else- # outside of git repo, test build- rm -rf $pkg/ &&- tar -xzf $pkg.tar.gz &&- cd $pkg/ &&- cabal configure --enable-tests --enable-benchmarks &&- cabal build &&- cabal test-fi
− tests/test-stats.hs
@@ -1,55 +0,0 @@--- Copyright (c) 2017-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test--import System.Exit (exitFailure)-import Data.List (elemIndices,sort)-import Test.LeanCheck-import Test.LeanCheck.Stats--import Data.List (isPrefixOf)-import Data.Function (on)--main :: IO ()-main = do- putStrLn "sum :: [Int] -> Bool"- classStats 100 (sum :: [Int] -> Int)-- putStrLn "length :: [Int] -> Int"- classStats 100 (length :: [Int] -> Int)-- putStrLn "take 1 :: [Int] -> [Int]"- classStats 100 (take 1 :: [Int] -> [Int])-- conditionStats 1000 [ ("odd", odd :: Int -> Bool)- , ("even", even) ]-- conditionStats 1000 [ ("ordered",ordered :: [Int] -> Bool)- , ("ordered . reverse", ordered . reverse) ]-- putStrLn "sum :: [Int] -> Bool"- classStatsT 6 (sum :: [Int] -> Int)-- putStrLn "length :: [Int] -> Int"- classStatsT 6 (length :: [Int] -> Int)-- putStrLn "take 1 :: [Int] -> [Int]"- classStatsT 6 (take 1 :: [Int] -> [Int])--- case elemIndices False (tests 100) of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests :: Int -> [Bool]-tests n =- [ True-- , classify [1,2,3,4,1,2,3,1,2,1] == [[1,1,1,1],[2,2,2],[3,3],[4]]- , classifyBy ((==) `on` odd) [1,2,3,4,1,2,3,1,2,1] == [[1,3,1,3,1,1],[2,4,2,2]]- , classifyOn odd [1,2,3,4,1,2,3,1,2,1] == [[1,3,1,3,1,1],[2,4,2,2]]- , counts [1,2,3,4,1,2,3,1,2,1] == [(1,4),(2,3),(3,2),(4,1)]- , countsBy ((==) `on` odd) [1,2,3,4,1,2,3,1,2,1] == [(1,6),(2,4)]- , countsOn odd [1,2,3,4,1,2,3,1,2,1::Int] == [(True,6),(False,4)]- ]
− tests/test-tiers.hs
@@ -1,113 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test--import System.Exit (exitFailure)-import Data.List (elemIndices, sort, nub, delete)--import Test.LeanCheck-import Test.LeanCheck.Utils--import Test.LeanCheck.Tiers--main :: IO ()-main =- case elemIndices False tests of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure--tests =- [ True-- , checkNoDup 12- , checkBags 18- , checkSets 20- , checkDistinctPairs 20- , checkUnorderedPairs 20- , checkUnorderedDistinctPairs 20- , checkLengthListingsOfLength 5 5- , checkSizesListingsOfLength 5 5-- , all (uncurry (/=)) . concat . take 100 $ distinctPairs (tiers :: [[Nat]])-- , productMaybeWith ($) [[const Nothing, Just]] [[1],[2],[3],[4]] == [[1],[2],[3],[4]]- , productMaybeWith (flip ($))- [[1],[2],[3],[4]]- [[const Nothing],[Just]] == [[],[1],[2],[3],[4]]-- , holds 100 $ deleteT_is_map_delete 10 -:> nat- , holds 100 $ deleteT_is_map_delete 10 -:> int- , holds 100 $ deleteT_is_map_delete 10 -:> bool- , holds 100 $ deleteT_is_map_delete 10 -:> int2-- , finite (tiers :: [[ Bool ]]) == True- , finite (tiers :: [[ (Bool,Bool) ]]) == True- , finite (tiers :: [[ Nat1 ]]) == True- , finite (tiers :: [[ Nat2 ]]) == True- , finite (tiers :: [[ Nat3 ]]) == True- , finite (tiers :: [[ Nat4 ]]) == True- , finite (tiers :: [[ Nat5 ]]) == True- , finite (tiers :: [[ Nat6 ]]) == True- , finite (tiers :: [[ Nat7 ]]) == True- , finite (tiers :: [[ Word1 ]]) == True- , finite (tiers :: [[ Word2 ]]) == True- , finite (tiers :: [[ Word3 ]]) == True-- , finite (tiers :: [[ Nat ]]) == False- , finite (tiers :: [[ Int ]]) == False- , finite (tiers :: [[ [Int] ]]) == False- , finite (tiers :: [[ [()] ]]) == False-- -- false negatives, more than 12 values:- , finite (tiers :: [[ Word4 ]]) == False- , finite (tiers :: [[ (Bool,Bool,Bool,Bool,Bool) ]]) == False- , finite (tiers :: [[ (Bool,Bool,Bool,Bool,Bool,Bool) ]]) == False-- , holds 100 $ \xss -> ordered . concat $ discardLaterT (<) (xss::[[Int]])- , holds 100 $ \xss -> ordered . concat $ discardLaterT (<=) (xss::[[Int]])- , (length . concat $ discardLaterT (<=) [[1..100]]) == 100- , (length . concat $ discardLaterT (<=) [[00..99],[100..199::Int]]) == 200- , holds 100 $ \xss -> nub (concat xss) == concat (nubT xss :: [[Int]])- ]--deleteT_is_map_delete :: (Eq a, Listable a) => Int -> a -> Bool-deleteT_is_map_delete n x = deleteT x tiers- =| n |= normalizeT (map (delete x) tiers)--checkNoDup :: Int -> Bool-checkNoDup n = noDupListsOf (tiers :: [[Int]]) =| n |= tiers `suchThat` noDup- where noDup xs = nub (sort xs) == sort xs--checkBags :: Int -> Bool-checkBags n = bagsOf (tiers :: [[Nat]]) =| n |= tiers `suchThat` ordered--checkSets :: Int -> Bool-checkSets n = setsOf (tiers :: [[Nat]]) =| n |= tiers `suchThat` strictlyOrdered--checkDistinctPairs :: Int -> Bool-checkDistinctPairs n =- distinctPairs (tiers :: [[Nat]]) =| n |= tiers `suchThat` uncurry (/=)--checkUnorderedDistinctPairs :: Int -> Bool-checkUnorderedDistinctPairs n =- unorderedDistinctPairs (tiers :: [[Nat]]) =| n |= tiers `suchThat` uncurry (<)--checkUnorderedPairs :: Int -> Bool-checkUnorderedPairs n =- unorderedPairs (tiers :: [[Nat]]) =| n |= tiers `suchThat` uncurry (<=)--checkLengthListingsOfLength :: Int -> Int -> Bool-checkLengthListingsOfLength n m = all check [1..m]- where check m = all (\xs -> length xs == m)- $ concat . take n- $ listsOfLength m natTiers--checkSizesListingsOfLength :: Int -> Int -> Bool-checkSizesListingsOfLength n m = all check [1..m]- where check m = orderedBy compare- $ map sum . concat . take n- $ listsOfLength m natTiers--natTiers :: [[Nat]]-natTiers = tiers
− tests/test-types.hs
@@ -1,170 +0,0 @@--- Copyright (c) 2015-2018 Rudy Matela.--- Distributed under the 3-Clause BSD licence (see the file LICENSE).-import Test-import System.Exit (exitFailure)-import Data.List (elemIndices,delete,isPrefixOf)-import Test.LeanCheck.Utils.Types-import Test.LeanCheck (list,fails)-import Data.Word-import Data.Int--main :: IO ()-main =- case elemIndices False tests of- [] -> putStrLn "Tests passed!"- is -> do putStrLn ("Failed tests:" ++ show is)- exitFailure----- | Given the number of bits, generates a range for signed/unsigned integers--- of that width.-signedRange,unsignedRange :: (Num n) => Int -> [n]-signedRange n = map fromIntegral [-(2^(n-1))..(2^(n-1))-1]-unsignedRange n = map fromIntegral [0..(2^n)-1]---tests =- [ True-- , list `permutation` [minBound..maxBound :: Int1]- , list `permutation` [minBound..maxBound :: Int2]- , list `permutation` [minBound..maxBound :: Int3]- , list `permutation` [minBound..maxBound :: Int4]-- , list `permutation` [minBound..maxBound :: UInt1]- , list `permutation` [minBound..maxBound :: UInt2]- , list `permutation` [minBound..maxBound :: UInt3]- , list `permutation` [minBound..maxBound :: UInt4]-- , list `permutation` [minBound..maxBound :: Nat1]- , list `permutation` [minBound..maxBound :: Nat2]- , list `permutation` [minBound..maxBound :: Nat3]- , list `permutation` [minBound..maxBound :: Nat4]- , list `permutation` [minBound..maxBound :: Nat5]- , list `permutation` [minBound..maxBound :: Nat6]- , list `permutation` [minBound..maxBound :: Nat7]-- , map unX list `permutation` [minBound..maxBound :: Int8]- , map unX list `permutation` [minBound..maxBound :: Int4]- , map unX list `permutation` [minBound..maxBound :: Int3]--- TODO: make the following commented tests pass:---, map unX list `permutation` [minBound..maxBound :: Int2]---, map unX list `permutation` [minBound..maxBound :: Int1]- , map unX list `permutation` [minBound..maxBound :: Word8]- , map unX list `permutation` [minBound..maxBound :: Word4]- , map unX list `permutation` [minBound..maxBound :: Word3]- , map unX list `permutation` [minBound..maxBound :: Word2]- , map unX list `permutation` [minBound..maxBound :: Word1]- , map unX list `permutation` [minBound..maxBound :: Nat7]- , map unX list `permutation` [minBound..maxBound :: Nat6]- , map unX list `permutation` [minBound..maxBound :: Nat5]- , map unX list `permutation` [minBound..maxBound :: Nat4]--- TODO: make the following commented tests pass:---, map unX list `permutation` [minBound..maxBound :: Nat3]---, map unX list `permutation` [minBound..maxBound :: Nat2]---, map unX list `permutation` [minBound..maxBound :: Nat1]-- , (prefiX :: [Int8]) `isPrefixOf` map unX list- , (prefiX :: [Int16]) `isPrefixOf` map unX list- , (prefiX :: [Int32]) `isPrefixOf` map unX list- , (prefiX :: [Int64]) `isPrefixOf` map unX list- , (prefiX :: [Int]) `isPrefixOf` map unX list-- , (prefiXN :: [Word8]) `isPrefixOf` map unX list- , (prefiXN :: [Word16]) `isPrefixOf` map unX list- , (prefiXN :: [Word32]) `isPrefixOf` map unX list- , (prefiXN :: [Word64]) `isPrefixOf` map unX list- , (prefiXN :: [Word]) `isPrefixOf` map unX list-- , (prefiXs :: [[Int8]]) `isPrefixOf` map unXs list- , (prefiXs :: [[Int16]]) `isPrefixOf` map unXs list- , (prefiXs :: [[Int32]]) `isPrefixOf` map unXs list- , (prefiXs :: [[Int64]]) `isPrefixOf` map unXs list- , (prefiXs :: [[Int]]) `isPrefixOf` map unXs list-- , (prefiXNs :: [[Word8]]) `isPrefixOf` map unXs list- , (prefiXNs :: [[Word16]]) `isPrefixOf` map unXs list- , (prefiXNs :: [[Word32]]) `isPrefixOf` map unXs list- , (prefiXNs :: [[Word64]]) `isPrefixOf` map unXs list- , (prefiXNs :: [[Word]]) `isPrefixOf` map unXs list--- , [minBound..maxBound :: Int1] == signedRange 1- , [minBound..maxBound :: Int2] == signedRange 2- , [minBound..maxBound :: Int3] == signedRange 3- , [minBound..maxBound :: Int4] == signedRange 4-- , [minBound..maxBound :: UInt1] == unsignedRange 1- , [minBound..maxBound :: UInt2] == unsignedRange 2- , [minBound..maxBound :: UInt3] == unsignedRange 3- , [minBound..maxBound :: UInt4] == unsignedRange 4--- -- abs minBound == minBound- , fails 100 (\i -> abs i > (0::Int1))- , fails 100 (\i -> abs i > (0::Int2))- , fails 100 (\i -> abs i > (0::Int3))- , fails 100 (\i -> abs i > (0::Int4))-- -- maxBound + 1 == minBound- , fails 100 (\i -> i + 1 < (i::Int1))- , fails 100 (\i -> i + 1 < (i::Int2))- , fails 100 (\i -> i + 1 < (i::Int3))- , fails 100 (\i -> i + 1 < (i::Int4))-- , holds 100 (\(Nat n) -> n >= 0)- , holds 100 (\(Natural n) -> n >= 0)- ]- where- unXs (Xs xs) = xs---prefiX :: (Bounded a, Integral a) => [a]-prefiX =- [ 0- , 1, -1- , maxBound, minBound- , 2, -2- , maxBound-1, minBound+1- , 3, -3- , maxBound-2, minBound+2- ]--prefiXs :: (Bounded a, Integral a) => [[a]]-prefiXs =- [ []- , [0]- , [0,0], [1]- , [0,0,0], [0,1], [1,0], [-1]- , [0,0,0,0], [0,0,1], [0,1,0], [0,-1], [1,0,0], [1,1], [-1,0], [maxBound]- , [0,0,0,0,0], [0,0,0,1], [0,0,1,0], [0,0,-1]- , [0,1,0,0], [0,1,1], [0,-1,0], [0,maxBound]- , [1,0,0,0], [1,0,1], [1,1,0], [1,-1]- , [-1,0,0], [-1,1], [maxBound,0], [minBound]- ]--prefiXN :: (Bounded a, Integral a) => [a]-prefiXN =- [ 0- , 1, 2- , maxBound- , 3, 4- , maxBound-1- , 5, 6- , maxBound-2- ]--prefiXNs :: (Bounded a, Integral a) => [[a]]-prefiXNs =- [ []- , [0]- , [0,0], [1]- , [0,0,0], [0,1], [1,0], [2]- , [0,0,0,0], [0,0,1], [0,1,0], [0,2], [1,0,0], [1,1], [2,0], [maxBound]- ]--permutation :: Eq a => [a] -> [a] -> Bool-[] `permutation` [] = True-(_:_) `permutation` [] = False-[] `permutation` (_:_) = False-(x:xs) `permutation` ys = x `elem` ys && xs `permutation` delete x ys