liquidhaskell-0.4.0.0: tests/pos/maybe4.hs
module Foo () where
{-@ goo :: lo:{v0a: Maybe {v:a | ((isJust v0a) && (v = (fromJust v0a)))} | true }
-> hi:{v0b: Maybe {v:a | ((isJust v0b) && (v = (fromJust v0b)))} | (((isJust(lo) && isJust(v0b)) => (fromJust(v0b) >= fromJust(lo)))) }
-> Bool
@-}
goo :: Maybe a -> Maybe a -> Bool
goo lo hi = bar (id hi) (id lo)
{-@ bar :: hi: Maybe a -> lo:Maybe {v: a | ((isJust(hi)) => (v <= fromJust(hi)))} -> Bool @-}
bar :: Maybe a -> Maybe a -> Bool
bar hi lo = True