mirror of
https://github.com/Z3Prover/z3
synced 2025-07-26 06:07:01 +00:00
Merge branch 'master' of https://github.com/Z3Prover/z3
This commit is contained in:
commit
aa415f3d58
5 changed files with 176 additions and 182 deletions
4
mk-2013.cmd
Normal file
4
mk-2013.cmd
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
rem Ocaml is VS2013, so need VS2013 command prompt for it to work!
|
||||||
|
python scripts/mk_make.py -b bld_dbg_2013 --java --ml --debug --vs --parallel=12
|
|
@ -2021,7 +2021,7 @@ namespace z3 {
|
||||||
return expr(a.ctx(), Z3_mk_interpolant(a.ctx(), a));
|
return expr(a.ctx(), Z3_mk_interpolant(a.ctx(), a));
|
||||||
}
|
}
|
||||||
|
|
||||||
check_result context::compute_interpolant(expr const& pat, params const& p, expr_vector& i, model& m) {
|
inline check_result context::compute_interpolant(expr const& pat, params const& p, expr_vector& i, model& m) {
|
||||||
Z3_ast_vector interp = 0;
|
Z3_ast_vector interp = 0;
|
||||||
Z3_model mdl = 0;
|
Z3_model mdl = 0;
|
||||||
Z3_lbool r = Z3_compute_interpolant(*this, pat, p, &interp, &mdl);
|
Z3_lbool r = Z3_compute_interpolant(*this, pat, p, &interp, &mdl);
|
||||||
|
@ -2038,7 +2038,7 @@ namespace z3 {
|
||||||
return to_check_result(r);
|
return to_check_result(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
expr_vector context::get_interpolant(expr const& proof, expr const& pat, params const& p) {
|
inline expr_vector context::get_interpolant(expr const& proof, expr const& pat, params const& p) {
|
||||||
return expr_vector(*this, Z3_get_interpolant(*this, proof, pat, p));
|
return expr_vector(*this, Z3_get_interpolant(*this, proof, pat, p));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -337,11 +337,7 @@ namespace Microsoft.Z3
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsInt
|
public bool IsInt
|
||||||
{
|
{
|
||||||
get
|
get { return Native.Z3_get_sort_kind(Context.nCtx, Native.Z3_get_sort(Context.nCtx, NativeObject)) == (uint)Z3_sort_kind.Z3_INT_SORT; }
|
||||||
{
|
|
||||||
return (Native.Z3_is_numeral_ast(Context.nCtx, NativeObject) != 0 &&
|
|
||||||
Native.Z3_get_sort_kind(Context.nCtx, Native.Z3_get_sort(Context.nCtx, NativeObject)) == (uint)Z3_sort_kind.Z3_INT_SORT);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -415,10 +415,7 @@ public class Expr extends AST
|
||||||
**/
|
**/
|
||||||
public boolean isInt()
|
public boolean isInt()
|
||||||
{
|
{
|
||||||
return (Native.isNumeralAst(getContext().nCtx(), getNativeObject()) && Native
|
return Native.getSortKind(getContext().nCtx(), Native.getSort(getContext().nCtx(), getNativeObject())) == Z3_sort_kind.Z3_INT_SORT.toInt();
|
||||||
.getSortKind(getContext().nCtx(),
|
|
||||||
Native.getSort(getContext().nCtx(), getNativeObject())) == Z3_sort_kind.Z3_INT_SORT
|
|
||||||
.toInt());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -428,9 +425,7 @@ public class Expr extends AST
|
||||||
**/
|
**/
|
||||||
public boolean isReal()
|
public boolean isReal()
|
||||||
{
|
{
|
||||||
return Native.getSortKind(getContext().nCtx(),
|
return Native.getSortKind(getContext().nCtx(), Native.getSort(getContext().nCtx(), getNativeObject())) == Z3_sort_kind.Z3_REAL_SORT.toInt();
|
||||||
Native.getSort(getContext().nCtx(), getNativeObject())) == Z3_sort_kind.Z3_REAL_SORT
|
|
||||||
.toInt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1545,7 +1545,6 @@ end
|
||||||
module Arithmetic =
|
module Arithmetic =
|
||||||
struct
|
struct
|
||||||
let is_int ( x : expr ) =
|
let is_int ( x : expr ) =
|
||||||
(Z3native.is_numeral_ast (Expr.gnc x) (Expr.gno x)) &&
|
|
||||||
((sort_kind_of_int (Z3native.get_sort_kind (Expr.gnc x) (Z3native.get_sort (Expr.gnc x) (Expr.gno x)))) == INT_SORT)
|
((sort_kind_of_int (Z3native.get_sort_kind (Expr.gnc x) (Z3native.get_sort (Expr.gnc x) (Expr.gno x)))) == INT_SORT)
|
||||||
|
|
||||||
let is_arithmetic_numeral ( x : expr ) = (AST.is_app (Expr.ast_of_expr x)) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) == OP_ANUM)
|
let is_arithmetic_numeral ( x : expr ) = (AST.is_app (Expr.ast_of_expr x)) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) == OP_ANUM)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue