packages feed

liquidhaskell-0.8.0.2: tests/import/client/ReflectClient4a.hs

{-@ LIQUID "--exact-data-con"                      @-}
{-@ LIQUID "--automatic-instances=liquidinstances" @-}

module ReflectClient4a where

import Language.Haskell.Liquid.ProofCombinators

import ReflectLib4 

stupidity = [ undefined gapp ]

{-@ test1 :: { llen Nil == 0 } @-}
test1 = ()

{-@ test2 :: { llen (Cons 2 Nil) == 1 } @-}
test2 = ()

{-@ test3 :: { llen (Cons 1 (Cons 2 Nil)) == 2 } @-}
test3 = ()

{-@ test4 :: { app Nil Nil == Nil } @-}

{-@ test4 :: { gapp Nil = Nil } @-}
test4 = ()


-- {- thmAppLen :: xs:List a -> ys:List a ->
      -- { llen (app xs ys) == llen xs + llen ys}
  -- @-}
-- thmAppLen :: List a -> List a -> Proof
-- thmAppLen Nil         ys = trivial
-- thmAppLen (Cons x xs) ys = thmAppLen xs ys