liquidhaskell-0.4.0.0: tests/pos/ListRange.hs
module ListSort () where
{-@ LIQUID "--no-termination" @-}
import Language.Haskell.Liquid.Prelude
low, high :: Int
low = choose 0
high = choose 10
range l h =
if l <= h then l:(range (l+1) h) else []
chk [] = liquidAssertB True
chk (x1:xs) = case xs of
[] -> liquidAssertB True
(x2:xs2) -> liquidAssertB (x1 <= x2) && chk xs
prop = chk $ range low high