max expr size = 5 max #-tests = 500 min #-tests = 25 (to consider p ==> q true) max #-vars = 3 (for inequational and conditional laws) _ :: Bool (holes: Bool) _ :: Int (holes: Int) _ :: [Int] (holes: [Int]) _ :: [(Int,Int)] (holes: [(Int,Int)]) (++) :: [Int] -> [Int] -> [Int] (==) :: Int -> Int -> Bool length :: [Int] -> Int zip :: [Int] -> [Int] -> [(Int,Int)] True :: Bool False :: Bool (==) :: Bool -> Bool -> Bool (==) :: [Int] -> [Int] -> Bool (==) :: [(Int,Int)] -> [(Int,Int)] -> Bool zip xs (xs ++ ys) == zip xs xs zip (xs ++ ys) xs == zip xs xs length xs == length ys ==> zip xs (ys ++ zs) == zip xs ys length xs == length ys ==> zip (xs ++ zs) ys == zip xs ys