liquidhaskell-0.8.10.1: tests/errors/InlineSubExp1.hs
-- https://github.com/ucsd-progsys/liquidhaskell/issues/1258
{-@ LIQUID "--reflection" @-}
{-@ LIQUID "--short-names" @-}
module T1258 where
import Language.Haskell.Liquid.ProofCombinators
data Foo = A | B
data Bar = C | D
data Baz = E | F | G
{-@ reflect f @-}
f :: Foo -> Bar -> Baz
f B C = F
f A D = E
f _ _ = G
{-@ reflect g @-}
g :: Foo -> Bar
g A = C
g _ = D
test = f B (g A) === f A D *** QED