packages feed

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))