This library defines a very simple structure for Boolean expressions
bTrue
:: BoolExp
A Boolean true. |
bFalse
:: BoolExp
A Boolean false. |
bNot
:: BoolExp -> BoolExp
A Boolean negation. |
bEqu
:: BoolExp -> BoolExp -> BoolExp
An equality between two Boolean terms. |
bEquVar
:: Int -> BoolExp -> BoolExp
An equality between a variable and a Boolean term. |
bindingBE
:: String -> [(Int,BoolExp)] -> BoolExp -> BoolExp
A binding for a list of binding variables. |
letBinding
:: [(Int,BoolExp)] -> BoolExp -> BoolExp
A "let" binding. |
forallBinding
:: [(Int,BoolExp)] -> BoolExp -> BoolExp
A "forall" binding. |
existsBinding
:: [(Int,BoolExp)] -> BoolExp -> BoolExp
An "exists" binding. |
assertSMT
:: BoolExp -> BoolExp
An assertion of a Boolean expression. |
allSymbolsOfBE
:: BoolExp -> [String]
|
simpBE
:: BoolExp -> BoolExp
|
showBoolExp
:: BoolExp -> String
|
smtBE
:: BoolExp -> String
|
asLisp
:: [String] -> String
|
prettyBE
:: BoolExp -> String
|
withBracket
:: String -> String
|
Datatype for Boolean expressions.
Constructors:
BVar
:: Int -> BoolExp
BTerm
:: String -> [BoolExp] -> BoolExp
Conj
:: [BoolExp] -> BoolExp
Disj
:: [BoolExp] -> BoolExp
Not
:: BoolExp -> BoolExp
Binding
:: String -> [(Int,BoolExp)] -> BoolExp -> BoolExp
A Boolean true.
|
A Boolean false.
|
A Boolean negation.
|
An equality between two Boolean terms.
|
An equality between a variable and a Boolean term.
|
A binding for a list of binding variables. |
A "let" binding. |
A "forall" binding. |
An "exists" binding. |
An assertion of a Boolean expression.
|
|
|
|
|