module For (prop, prop2, even_, minifac) where
{-@ LIQUID "--no-termination-check" @-}
import Language.Haskell.Liquid.Prelude
even_ arg = if arg == 0 then True else odd_ (arg - 1)
odd_ arg = if arg == 0 then False else even_ (arg - 1)
mmax x y
| x < y = y
| otherwise = x
minifac foobar
| foobar > 1 = minifac (foobar - 1)
| otherwise = 1
for lo hi acc f
| lo < hi = for (lo + 1) hi (f lo acc) f
| otherwise = acc
sumRange i j = for i j 0 (+)
prop = liquidAssertB (m >= 0)
where m = sumRange 0 k
k = choose 0
prop2 = liquidAssertB (z >= x && z >= y)
where x = choose 0
y = choose 1
z = mmax x y