packages feed

liquidhaskell-0.8.10.7: tests/ple/neg/ReflectDefault.hs

{-@ LIQUID "--reflection" @-}
{-@ LIQUID "--ple"        @-}
{-@ LIQUID "--max-case-expand=0" @-}

module ReflectDefault where 

data Thing = A | B | C | D 

{-@ reflect foo @-}
foo :: Thing -> Int
foo A = 0 
foo D = 10
foo _ = 1 

{-@ thmOK :: {foo C == 1} @-}
thmOK = ()

{-@ thmBAD :: {foo A == 1} @-}
thmBAD = ()