module Test.Target.Expr where
import Language.Fixpoint.Types
eq :: Expr -> Expr -> Expr
eq = PAtom Eq
infix 4 `eq`
ge :: Expr -> Expr -> Expr
ge = PAtom Ge
infix 5 `ge`
le :: Expr -> Expr -> Expr
le = PAtom Le
infix 5 `le`
gt :: Expr -> Expr -> Expr
gt = PAtom Gt
infix 5 `gt`
lt :: Expr -> Expr -> Expr
lt = PAtom Lt
infix 5 `lt`
iff :: Expr -> Expr -> Expr
iff = PIff
infix 3 `iff`
imp :: Expr -> Expr -> Expr
imp = PImp
infix 3 `imp`
app :: Symbolic a => a -> [Expr] -> Expr
app = mkEApp . dummyLoc . symbol
var :: Symbolic a => a -> Expr
var = EVar . symbol
prop :: Expr -> Expr
prop = id
instance Num Expr where
fromInteger = ECon . I . fromInteger
(+) = EBin Plus
() = EBin Minus
(*) = EBin Times
abs = error "abs of Liquid.Fixpoint.Types.Expr"
signum = error "signum of Liquid.Fixpoint.Types.Expr"