module Integer:sig..end
val mk_sort : context -> Sort.sortval get_int : Expr.expr -> intval get_big_int : Expr.expr -> Big_int.big_intval numeral_to_string : Expr.expr -> stringval mk_const : context -> Symbol.symbol -> Expr.exprval mk_const_s : context -> string -> Expr.exprval mk_mod : context -> Expr.expr -> Expr.expr -> Expr.exprt1 mod t2.
The arguments must have int type.val mk_rem : context -> Expr.expr -> Expr.expr -> Expr.exprt1 rem t2.
The arguments must have int type.val mk_numeral_s : context -> string -> Expr.exprval mk_numeral_i : context -> int -> Expr.exprval mk_int2real : context -> Expr.expr -> Expr.exprThere is also a converse operation exposed. It follows the semantics prescribed by the SMT-LIB standard.
You can take the floor of a real by creating an auxiliary integer Term k and
and asserting MakeInt2Real(k) <= t1 < MkInt2Real(k)+1.
The argument must be of integer sort.
val mk_int2bv : context -> int -> Expr.expr -> Expr.exprNB. This function is essentially treated as uninterpreted. So you cannot expect Z3 to precisely reflect the semantics of this function when solving constraints with this function.
The argument must be of integer sort.