speculate-0.3.5: bench/qs2/zip.out
== Signature ==
(++) :: [Int] -> [Int] -> [Int]
length :: [Int] -> Int
zip :: [Int] -> [Int] -> [(Int, Int)]
prj_eqLen ::
TestCaseWrapped "eqLen" ([Int] -> [Int] -> Bool) -> [Int]
prj_eqLen' ::
TestCaseWrapped "eqLen" ([Int] -> [Int] -> Bool) -> [Int]
eqLen :: [Int] -> [Int] -> Bool
True :: Bool
== Laws ==
1. eqLen xs xs = True
2. eqLen xs ys => length xs = length ys
3. eqLen xs ys = eqLen ys xs
4. eqLen ys zs => eqLen xs ys = eqLen xs zs
5. length (xs ++ ys) = length (ys ++ xs)
6. (xs ++ ys) ++ zs = xs ++ (ys ++ zs)
7. zip xs (xs ++ ys) = zip xs xs
8. zip (xs ++ ys) xs = zip xs xs
9. eqLen ys zs => length (xs ++ ys) = length (xs ++ zs)
10. eqLen xs (ys ++ zs) = eqLen xs (zs ++ ys)
11. eqLen xs (xs ++ ys) = eqLen zs (zs ++ ys)
12. eqLen zs xs2 => eqLen xs (ys ++ zs) = eqLen xs (ys ++ xs2)
13. eqLen xs (xs ++ (ys ++ ys)) = eqLen xs (xs ++ ys)
14. eqLen (xs ++ zs) (ys ++ zs) = eqLen xs ys
15. eqLen (xs ++ xs) (ys ++ ys) = eqLen xs ys
16. zip xs (ys ++ (xs ++ zs)) = zip xs (ys ++ xs)
17. zip (xs ++ (ys ++ zs)) ys = zip (xs ++ ys) ys
18. eqLen xs ys => zip (xs ++ zs) ys = zip xs ys
19. eqLen xs ys => zip xs (ys ++ zs) = zip xs ys
20. eqLen xs (ys ++ (zs ++ xs2)) = eqLen xs (ys ++ (xs2 ++ zs))
21. eqLen zs xs2 =>
length (xs ++ (ys ++ zs)) = length (xs ++ (zs ++ ys))