liquidhaskell-0.8.10.1: tests/pos/mutrec.hs
module MutRec () where
{-@ isEven :: n:Nat -> Bool / [n, 0] @-}
isEven :: Int -> Bool
isEven 0 = True
isEven n = isOdd (n-1)
{-@ isOdd :: n:Nat -> Bool / [n, 1] @-}
isOdd :: Int -> Bool
isOdd n = not $ isEven n
{- decrease isEven 1 2 -}
{- decrease isOdd 1 2 -}