{-# 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]