{-# LANGUAGE OverloadedStrings, Safe #-} module SMTLib2.Array where import SMTLib2.AST tArray :: Type -> Type -> Type tArray :: Type -> Type -> Type tArray Type x Type y = Ident -> [Type] -> Type TApp Ident "Array" [Type x,Type y] select :: Expr -> Expr -> Expr select :: Expr -> Expr -> Expr select Expr x Expr y = Ident -> [Expr] -> Expr app Ident "select" [Expr x,Expr y] store :: Expr -> Expr -> Expr -> Expr store :: Expr -> Expr -> Expr -> Expr store Expr x Expr y Expr z = Ident -> [Expr] -> Expr app Ident "store" [Expr x,Expr y,Expr z]