liquidhaskell-0.4.0.0: tests/neg/range.hs
module Range () where
import Language.Haskell.Liquid.Prelude
range :: Int -> Int -> [Int]
range i j
| i `lt` j = i : (range (i `plus` 1) j)
| otherwise = []
sumTo = foldl plus 0 . range 0
n = choose 0
m = choose 1
prop_rng1 = map (liquidAssertB . (10 `leq`)) $ range 0 n
prop_rng2 = map (liquidAssertB . (n `leq`)) $ range n 100
prop_rng3 = map (liquidAssertB . (n `leq`)) $ range n m
prop_rng4 = map (liquidAssertB . (`leq` m)) $ range n m
prop_rng5 = liquidAssertB ((sumTo n) `geq` 10)