module Even () where {-@ isEven :: n:Nat -> Bool / [n, 0]@-} {-@ isOdd :: m:Nat -> Bool / [m, 1] @-} isEven, isOdd :: Int -> Bool isEven 0 = True isEven n = isOdd $ n - 1 isOdd k = not $ isEven k