module Test0 () where

{-@ type PosInt = {v: Int | v >= 0} @-}

{-@ assert myabs :: Int -> PosInt @-}
myabs   :: Int -> Int
myabs x = if (x > 0) then x else (0 - x)

{-@ type NNList a = {v: [a] | len v > 0} @-}

{-@ assert single :: a -> NNList a @-}
single x = [x] 
