module Foo where import Language.Haskell.Liquid.Prelude prop :: Bool prop = undefined {-@ app :: forall
Prop, q :: a -> Prop>.
{x:a -> {v:a | v <= x}}
{a }
Num a => (a -> b) -> a -> a
-> a
-> b @-}
app :: Num a => (a -> b) -> a -> b
app f x = if prop then app f (x+1) else f x
{-@ check :: Ord a => x:a -> {v:a | x <= v} -> () @-}
check :: Ord a => a -> a -> ()
check x y | x <= y = ()
| otherwise = liquidError ""
main i = app (check i) i