sourcecode:
|
module FlatCurry.Names2SMT where
----------------------------------------------------------------------------
--- Primitive unary operations of the prelude and their SMT names.
unaryPrimOps :: [(String,String)]
unaryPrimOps =
[("_impl#negate#Prelude.Num#Prelude.Int#","-")
,("_impl#sqrt#Prelude.Floating#Prelude.Float#","sqrt")
,("not","not")
]
--- Primitive binary operations of the prelude and their SMT names.
binaryPrimOps :: [(String,String)]
binaryPrimOps =
[("&&","and")
,("||","or")
,("==","=")
,("constrEq","=")
,("_impl#==#Prelude.Eq#Prelude.Int#","=")
,("_impl#==#Prelude.Eq#Prelude.Float#","=")
,("_impl#==#Prelude.Eq#Prelude.Char#","=")
,("/=","/=") -- should be translated as negated '='
,("_impl#/=#Prelude.Eq#Prelude.Int#","/=")
,("_impl#/=#Prelude.Eq#Prelude.Float#","/=")
,("_impl#/=#Prelude.Eq#Prelude.Char#","/=")
,("_impl#+#Prelude.Num#Prelude.Int#","+")
,("_impl#-#Prelude.Num#Prelude.Int#","-")
,("_impl#*#Prelude.Num#Prelude.Int#","*")
,("_impl#negate#Prelude.Num#Prelude.Int#","-")
,("_impl#div#Prelude.Integral#Prelude.Int#","div")
,("_impl#mod#Prelude.Integral#Prelude.Int#","mod")
,("_impl#rem#Prelude.Integral#Prelude.Int#","rem")
,("_impl#>#Prelude.Ord#Prelude.Int#",">")
,("_impl#<#Prelude.Ord#Prelude.Int#","<")
,("_impl#>=#Prelude.Ord#Prelude.Int#",">=")
,("_impl#<=#Prelude.Ord#Prelude.Int#","<=")
,("_impl#+#Prelude.Num#Prelude.Float#","+")
,("_impl#-#Prelude.Num#Prelude.Float#","-")
,("_impl#*#Prelude.Num#Prelude.Float#","*")
,("_impl#/#Prelude.Num#Prelude.Float#","/")
,("_impl#>#Prelude.Ord#Prelude.Float#",">")
,("_impl#<#Prelude.Ord#Prelude.Float#","<")
,("_impl#>=#Prelude.Ord#Prelude.Float#",">=")
,("_impl#<=#Prelude.Ord#Prelude.Float#","<=")
,("_impl#>#Prelude.Ord#Prelude.Char#",">")
,("_impl#<#Prelude.Ord#Prelude.Char#","<")
,("_impl#>=#Prelude.Ord#Prelude.Char#",">=")
,("_impl#<=#Prelude.Ord#Prelude.Char#","<=")
]
----------------------------------------------------------------------------
|