module Boolean:sig
..end
Boolean expressions; Propositional logic and equality
val mk_sort : context -> Sort.sort
Create a Boolean sort
val mk_const : context -> Symbol.symbol -> Expr.expr
Create a Boolean constant.
val mk_const_s : context -> string -> Expr.expr
Create a Boolean constant.
val mk_true : context -> Expr.expr
The true Term.
val mk_false : context -> Expr.expr
The false Term.
val mk_val : context -> bool -> Expr.expr
Creates a Boolean value.
val mk_not : context -> Expr.expr -> Expr.expr
Mk an expression representing not(a)
.
val mk_ite : context -> Expr.expr -> Expr.expr -> Expr.expr -> Expr.expr
Create an expression representing an if-then-else: ite(t1, t2, t3)
.
val mk_iff : context -> Expr.expr -> Expr.expr -> Expr.expr
Create an expression representing t1 iff t2
.
val mk_implies : context -> Expr.expr -> Expr.expr -> Expr.expr
Create an expression representing t1 -> t2
.
val mk_xor : context -> Expr.expr -> Expr.expr -> Expr.expr
Create an expression representing t1 xor t2
.
val mk_and : context -> Expr.expr list -> Expr.expr
Create an expression representing the AND of args
val mk_or : context -> Expr.expr list -> Expr.expr
Create an expression representing the OR of args
val mk_eq : context -> Expr.expr -> Expr.expr -> Expr.expr
Creates the equality between two expr's.
val mk_distinct : context -> Expr.expr list -> Expr.expr
Creates a distinct
term.
val get_bool_value : Expr.expr -> Z3enums.lbool
Indicates whether the expression is the true or false expression or something else (L_UNDEF).
val is_bool : Expr.expr -> bool
Indicates whether the term has Boolean sort.
val is_true : Expr.expr -> bool
Indicates whether the term is the constant true.
val is_false : Expr.expr -> bool
Indicates whether the term is the constant false.
val is_eq : Expr.expr -> bool
Indicates whether the term is an equality predicate.
val is_distinct : Expr.expr -> bool
Indicates whether the term is an n-ary distinct predicate (every argument is mutually distinct).
val is_ite : Expr.expr -> bool
Indicates whether the term is a ternary if-then-else term
val is_and : Expr.expr -> bool
Indicates whether the term is an n-ary conjunction
val is_or : Expr.expr -> bool
Indicates whether the term is an n-ary disjunction
val is_iff : Expr.expr -> bool
Indicates whether the term is an if-and-only-if (Boolean equivalence, binary)
val is_xor : Expr.expr -> bool
Indicates whether the term is an exclusive or
val is_not : Expr.expr -> bool
Indicates whether the term is a negation
val is_implies : Expr.expr -> bool
Indicates whether the term is an implication