liquidhaskell-0.9.0.2.1: tests/neg/Trans.hs
{-@ LIQUID "--expect-any-error" @-}
module Trans () where
{-@ assert compre :: xs:[a] -> {v:[(a,a)] | len(v) = len(xs) } @-}
compre xs = [(x,x) | x <- xs]
{-@ assert transpose :: n: Int -> [{v:[a] | len(v) = n}] -> {v: [[a]] | len(v) > n} @-}
transpose :: Int -> [[a]] -> [[a]]
transpose 0 _ = []
transpose n ((x:xs) : xss) = (x : [h | (h:_) <- xss]) : transpose (n-1) (xs : [ t | (_:t) <- xss])
-- transpose [] = []
-- transpose ([] : xss) = transpose xss