{-@ LIQUID "--higherorder" @-} {-@ LIQUID "--exactdc" @-} module T1037B where import Language.Haskell.Liquid.ProofCombinators {-@ data Iso a b = Iso { to :: a -> b , from :: b -> a , tof :: y:b -> { to (from y) == y } , fot :: x:a -> { from (to x) == x } } @-} data Iso a b = Iso { to :: a -> b , from :: b -> a , tof :: b -> Proof , fot :: a -> Proof }