liquidhaskell-0.4.0.0: tests/neg/ListRange.hs
module ListRange () where
import Language.Haskell.Liquid.Prelude
data List a = Nil | Cons a (List a)
{-
low, high :: Int
low = 0
high = 10
-}
range l h =
if l <= h then Cons l (range (l+1) h) else Nil
chk y =
case y of
Nil -> True
Cons x1 xs -> case xs of
Nil -> True
Cons x2 xs2 -> liquidAssertB (x1 == x2) && chk xs2
prop3 = chk $ range 1 100