3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 12:08:18 +00:00

merge with latest unstable

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-10-22 09:45:04 -07:00
commit 0e83a2b1af
88 changed files with 1164 additions and 343 deletions

View file

@ -263,8 +263,10 @@ def param2dotnet(p):
return "[In] %s[]" % type2dotnet(param_type(p)) return "[In] %s[]" % type2dotnet(param_type(p))
elif k == INOUT_ARRAY: elif k == INOUT_ARRAY:
return "[In, Out] %s[]" % type2dotnet(param_type(p)) return "[In, Out] %s[]" % type2dotnet(param_type(p))
elif k == OUT_ARRAY or k == OUT_MANAGED_ARRAY: elif k == OUT_ARRAY:
return "[Out] out %s[]" % type2dotnet(param_type(p)) return "[Out] %s[]" % type2dotnet(param_type(p))
elif k == OUT_MANAGED_ARRAY:
return "[Out] out %s[]" % type2dotnet(param_type(p))
else: else:
return type2dotnet(param_type(p)) return type2dotnet(param_type(p))
@ -476,7 +478,7 @@ def mk_dotnet_wrappers():
dotnet.write('out '); dotnet.write('out ');
else: else:
dotnet.write('ref ') dotnet.write('ref ')
elif param_kind(param) == OUT_ARRAY or param_kind(param) == OUT_MANAGED_ARRAY: elif param_kind(param) == OUT_MANAGED_ARRAY:
dotnet.write('out '); dotnet.write('out ');
dotnet.write('a%d' % i) dotnet.write('a%d' % i)
i = i + 1 i = i + 1

View file

@ -100,10 +100,4 @@ extern "C" {
Z3_CATCH; Z3_CATCH;
} }
Z3_bool Z3_API Z3_get_param_value(Z3_context c, Z3_string param_id, Z3_string* param_value) {
LOG_Z3_get_param_value(c, param_id, param_value);
// TODO
return Z3_FALSE;
}
}; };

View file

@ -50,7 +50,7 @@ namespace Microsoft.Z3
IntPtr constructor = IntPtr.Zero; IntPtr constructor = IntPtr.Zero;
IntPtr tester = IntPtr.Zero; IntPtr tester = IntPtr.Zero;
IntPtr[] accessors = new IntPtr[n]; IntPtr[] accessors = new IntPtr[n];
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, out accessors); Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, accessors);
return new FuncDecl(Context, constructor); return new FuncDecl(Context, constructor);
} }
} }
@ -66,7 +66,7 @@ namespace Microsoft.Z3
IntPtr constructor = IntPtr.Zero; IntPtr constructor = IntPtr.Zero;
IntPtr tester = IntPtr.Zero; IntPtr tester = IntPtr.Zero;
IntPtr[] accessors = new IntPtr[n]; IntPtr[] accessors = new IntPtr[n];
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, out accessors); Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, accessors);
return new FuncDecl(Context, tester); return new FuncDecl(Context, tester);
} }
} }
@ -82,7 +82,7 @@ namespace Microsoft.Z3
IntPtr constructor = IntPtr.Zero; IntPtr constructor = IntPtr.Zero;
IntPtr tester = IntPtr.Zero; IntPtr tester = IntPtr.Zero;
IntPtr[] accessors = new IntPtr[n]; IntPtr[] accessors = new IntPtr[n];
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, out accessors); Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, accessors);
FuncDecl[] t = new FuncDecl[n]; FuncDecl[] t = new FuncDecl[n];
for (uint i = 0; i < n; i++) for (uint i = 0; i < n; i++)
t[i] = new FuncDecl(Context, accessors[i]); t[i] = new FuncDecl(Context, accessors[i]);

View file

@ -424,7 +424,7 @@ namespace Microsoft.Z3
n_constr[i] = cla[i].NativeObject; n_constr[i] = cla[i].NativeObject;
} }
IntPtr[] n_res = new IntPtr[n]; IntPtr[] n_res = new IntPtr[n];
Native.Z3_mk_datatypes(nCtx, n, Symbol.ArrayToNative(names), out n_res, n_constr); Native.Z3_mk_datatypes(nCtx, n, Symbol.ArrayToNative(names), n_res, n_constr);
DatatypeSort[] res = new DatatypeSort[n]; DatatypeSort[] res = new DatatypeSort[n];
for (uint i = 0; i < n; i++) for (uint i = 0; i < n; i++)
res[i] = new DatatypeSort(this, n_res[i]); res[i] = new DatatypeSort(this, n_res[i]);
@ -3569,28 +3569,11 @@ namespace Microsoft.Z3
/// Only a few configuration parameters are mutable once the context is created. /// Only a few configuration parameters are mutable once the context is created.
/// An exception is thrown when trying to modify an immutable parameter. /// An exception is thrown when trying to modify an immutable parameter.
/// </remarks> /// </remarks>
/// <seealso cref="GetParamValue"/>
public void UpdateParamValue(string id, string value) public void UpdateParamValue(string id, string value)
{ {
Native.Z3_update_param_value(nCtx, id, value); Native.Z3_update_param_value(nCtx, id, value);
} }
/// <summary>
/// Get a configuration parameter.
/// </summary>
/// <remarks>
/// Returns null if the parameter value does not exist.
/// </remarks>
/// <seealso cref="UpdateParamValue"/>
public string GetParamValue(string id)
{
IntPtr res = IntPtr.Zero;
if (Native.Z3_get_param_value(nCtx, id, out res) == 0)
return null;
else
return Marshal.PtrToStringAnsi(res);
}
#endregion #endregion
#region Internal #region Internal

View file

@ -78,7 +78,7 @@ namespace Microsoft.Z3
IntPtr[] native_core = new IntPtr[assumptions.Length]; IntPtr[] native_core = new IntPtr[assumptions.Length];
r = (Z3_lbool)Native.Z3_check_assumptions(ctx.nCtx, r = (Z3_lbool)Native.Z3_check_assumptions(ctx.nCtx,
(uint)assumptions.Length, AST.ArrayToNative(assumptions), (uint)assumptions.Length, AST.ArrayToNative(assumptions),
ref mdl, ref prf, ref core_size, out native_core); ref mdl, ref prf, ref core_size, native_core);
for (uint i = 0; i < core_size; i++) for (uint i = 0; i < core_size; i++)
core.Add((BoolExpr)Expr.Create(ctx, native_core[i])); core.Add((BoolExpr)Expr.Create(ctx, native_core[i]));

View file

@ -88,7 +88,7 @@ namespace Microsoft.Z3
IntPtr[] n_constdecls = new IntPtr[n]; IntPtr[] n_constdecls = new IntPtr[n];
IntPtr[] n_testers = new IntPtr[n]; IntPtr[] n_testers = new IntPtr[n];
NativeObject = Native.Z3_mk_enumeration_sort(ctx.nCtx, name.NativeObject, (uint)n, NativeObject = Native.Z3_mk_enumeration_sort(ctx.nCtx, name.NativeObject, (uint)n,
Symbol.ArrayToNative(enumNames), out n_constdecls, out n_testers); Symbol.ArrayToNative(enumNames), n_constdecls, n_testers);
} }
#endregion #endregion
}; };

View file

@ -74,10 +74,10 @@ namespace Microsoft.Z3
Contract.Requires(name != null); Contract.Requires(name != null);
IntPtr t = IntPtr.Zero; IntPtr t = IntPtr.Zero;
IntPtr[] f; IntPtr[] f = new IntPtr[numFields];
NativeObject = Native.Z3_mk_tuple_sort(ctx.nCtx, name.NativeObject, numFields, NativeObject = Native.Z3_mk_tuple_sort(ctx.nCtx, name.NativeObject, numFields,
Symbol.ArrayToNative(fieldNames), AST.ArrayToNative(fieldSorts), Symbol.ArrayToNative(fieldNames), AST.ArrayToNative(fieldSorts),
ref t, out f); ref t, f);
} }
#endregion #endregion
}; };

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from AST.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
AST.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
ASTDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ASTMap.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ASTMap.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ASTVector.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ASTVector.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from AlgebraicNum.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
AlgebraicNum.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ApplyResult.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ApplyResult.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
ApplyResultDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ArithExpr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
* **/
ArithExpr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ArithSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ArithSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ArrayExpr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ArrayExpr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ArraySort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ArraySort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
AstMapDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
AstVectorDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from BitVecExpr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
BitVecExpr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from BitVecNum.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
BitVecNum.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,20 @@
/** /**
* This file was automatically generated from BitVecSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
BitVecSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;
/** /**

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from BoolExpr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
BoolExpr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from BoolSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
BoolSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Constructor.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Constructor.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ConstructorList.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ConstructorList.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Context.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Context.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;
@ -2904,27 +2915,13 @@ public class Context extends IDisposable
* configuration parameters can be obtained using the Z3 executable: * configuration parameters can be obtained using the Z3 executable:
* <code>z3.exe -ini?</code> Only a few configuration parameters are mutable * <code>z3.exe -ini?</code> Only a few configuration parameters are mutable
* once the context is created. An exception is thrown when trying to modify * once the context is created. An exception is thrown when trying to modify
* an immutable parameter. </remarks> <seealso cref="GetParamValue"/> * an immutable parameter. </remarks>
**/ **/
public void updateParamValue(String id, String value) throws Z3Exception public void updateParamValue(String id, String value) throws Z3Exception
{ {
Native.updateParamValue(nCtx(), id, value); Native.updateParamValue(nCtx(), id, value);
} }
/**
* Get a configuration parameter. <remarks> Returns null if the parameter
* value does not exist. </remarks> <seealso cref="UpdateParamValue"/>
**/
public String getParamValue(String id) throws Z3Exception
{
Native.StringPtr res = new Native.StringPtr();
boolean r = Native.getParamValue(nCtx(), id, res);
if (!r)
return null;
else
return res.value;
}
long m_ctx = 0; long m_ctx = 0;
long nCtx() long nCtx()

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from DatatypeExpr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
DatatypeExpr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from DatatypeSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
DatatypeSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from EnumSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
EnumSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Expr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Expr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from FiniteDomainSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
FiniteDomainSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Fixedpoint.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Fixedpoint.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
FixedpointDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from FuncDecl.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
FuncDecl.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from FuncInterp.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
FuncInterp.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
FuncInterpDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
FuncInterpEntryDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Global.java Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
Global.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Goal.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Goal.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
GoalDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from IDecRefQueue.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
IDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from IntExpr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
IntExpr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from IntNum.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
IntNum.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from IntSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
IntSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from IntSymbol.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
IntSymbol.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,6 +1,20 @@
/** /**
* Copyright (c) 2012-2014 Microsoft Corporation
*/
Module Name:
InterpolationContext.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;
import java.util.Map; import java.util.Map;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ListSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ListSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Log.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Log.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Model.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Model.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
ModelDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from ParamDescrs.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
ParamDescrs.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
ParamDescrsDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,20 @@
/** /**
* This file was automatically generated from Params.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Params.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
ParamDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Pattern.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Pattern.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Probe.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Probe.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
ProbeDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Quantifier.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Quantifier.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from RatNum.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
RatNum.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from RealExpr.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
RealExpr.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from RealSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
RealSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from RelationSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
RelationSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from SetSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
SetSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Solver.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Solver.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
SolverDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Sort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Sort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Statistics.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Statistics.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
StatisticsDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Status.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Status.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from StringSymbol.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
StringSymbol.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Symbol.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Symbol.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Tactic.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Tactic.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,7 +1,19 @@
/** /**
* Copyright (c) 2012 Microsoft Corporation Copyright (c) 2012-2014 Microsoft Corporation
* @author Christoph M. Wintersteiger (cwinter)
**/ Module Name:
TacticDecRefQueue.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from TupleSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
TupleSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from UninterpretedSort.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
UninterpretedSort.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Version.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Version.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Z3Exception.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Z3Exception.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -1,8 +1,19 @@
/** /**
* This file was automatically generated from Z3Object.cs Copyright (c) 2012-2014 Microsoft Corporation
* w/ further modifications by:
* @author Christoph M. Wintersteiger (cwinter) Module Name:
**/
Z3Object.java
Abstract:
Author:
@author Christoph Wintersteiger (cwinter) 2012-03-15
Notes:
**/
package com.microsoft.z3; package com.microsoft.z3;

View file

@ -4,7 +4,7 @@ class Z3Exception(Exception):
def __init__(self, value): def __init__(self, value):
self.value = value self.value = value
def __str__(self): def __str__(self):
return repr(self.value) return str(self.value)
class ContextObj(ctypes.c_void_p): class ContextObj(ctypes.c_void_p):
def __init__(self, context): self._as_parameter_ = context def __init__(self, context): self._as_parameter_ = context

View file

@ -1479,15 +1479,6 @@ extern "C" {
*/ */
void Z3_API Z3_update_param_value(__in Z3_context c, __in Z3_string param_id, __in Z3_string param_value); void Z3_API Z3_update_param_value(__in Z3_context c, __in Z3_string param_id, __in Z3_string param_value);
/**
\brief Return the value of a context parameter.
\sa Z3_global_param_get
def_API('Z3_get_param_value', BOOL, (_in(CONTEXT), _in(STRING), _out(STRING)))
*/
Z3_bool_opt Z3_API Z3_get_param_value(__in Z3_context c, __in Z3_string param_id, __out_opt Z3_string_ptr param_value);
#ifdef CorML4 #ifdef CorML4
/** /**
\brief Interrupt the execution of a Z3 procedure. \brief Interrupt the execution of a Z3 procedure.

View file

@ -314,8 +314,8 @@ func_decl * float_decl_plugin::mk_binary_decl(decl_kind k, unsigned num_paramete
symbol name; symbol name;
switch (k) { switch (k) {
case OP_FLOAT_REM: name = "remainder"; break; case OP_FLOAT_REM: name = "remainder"; break;
case OP_FLOAT_MIN: name = "min"; break; case OP_FLOAT_MIN: name = "fp.min"; break;
case OP_FLOAT_MAX: name = "max"; break; case OP_FLOAT_MAX: name = "fp.max"; break;
default: default:
UNREACHABLE(); UNREACHABLE();
break; break;
@ -581,8 +581,9 @@ void float_decl_plugin::get_op_names(svector<builtin_name> & op_names, symbol co
op_names.push_back(builtin_name("isSubnormal", OP_FLOAT_IS_SUBNORMAL)); op_names.push_back(builtin_name("isSubnormal", OP_FLOAT_IS_SUBNORMAL));
op_names.push_back(builtin_name("isSignMinus", OP_FLOAT_IS_SIGN_MINUS)); op_names.push_back(builtin_name("isSignMinus", OP_FLOAT_IS_SIGN_MINUS));
op_names.push_back(builtin_name("min", OP_FLOAT_MIN)); // Disabled min/max, clashes with user-defined min/max functions
op_names.push_back(builtin_name("max", OP_FLOAT_MAX)); // op_names.push_back(builtin_name("min", OP_FLOAT_MIN));
// op_names.push_back(builtin_name("max", OP_FLOAT_MAX));
op_names.push_back(builtin_name("asFloat", OP_TO_FLOAT)); op_names.push_back(builtin_name("asFloat", OP_TO_FLOAT));

View file

@ -92,7 +92,7 @@ void context_params::set(char const * param, char const * value) {
strm << "unknown parameter '" << p << "'\n"; strm << "unknown parameter '" << p << "'\n";
strm << "Legal parameters are:\n"; strm << "Legal parameters are:\n";
d.display(strm, 2, false, false); d.display(strm, 2, false, false);
throw default_exception(strm.str()); throw default_exception(strm.str());
} }
} }

View file

@ -604,7 +604,9 @@ bool arith_eq_solver::solve_integer_equations_gcd(
} }
SASSERT(g == r0[i]); SASSERT(g == r0[i]);
} }
SASSERT(abs(r0[i]).is_one()); if (!abs(r0[i]).is_one()) {
return false;
}
live.erase(live.begin()+live_pos); live.erase(live.begin()+live_pos);
for (j = 0; j < live.size(); ++j) { for (j = 0; j < live.size(); ++j) {
row& r = rows[live[j]]; row& r = rows[live[j]];

View file

@ -71,7 +71,7 @@ namespace smt {
protected: protected:
ast_manager & m_manager; ast_manager & m_manager;
smt_params & m_fparams; smt_params & m_fparams;
params_ref m_params; params_ref m_params;
setup m_setup; setup m_setup;
volatile bool m_cancel_flag; volatile bool m_cancel_flag;

View file

@ -453,9 +453,9 @@ namespace smt {
instantiated. instantiated.
*/ */
virtual void add(quantifier * q) { virtual void add(quantifier * q) {
if (m_fparams->m_mbqi && mbqi_enabled(q)) { if (m_fparams->m_mbqi && mbqi_enabled(q)) {
m_model_finder->register_quantifier(q); m_model_finder->register_quantifier(q);
} }
} }
virtual void del(quantifier * q) { virtual void del(quantifier * q) {

View file

@ -230,6 +230,42 @@ public:
} }
} }
void validate_type(symbol const& name, char const* value, param_descrs const& d) {
param_kind k = d.get_kind(name);
std::stringstream strm;
char const* _value = value;
switch (k) {
case CPK_UINT:
for (; *value; ++value) {
if (!('0' <= *value && *value <= '9')) {
strm << "Expected values for parameter " << name
<< " is an unsigned integer. It was given argument '" << _value << "'";
throw default_exception(strm.str());
}
}
break;
case CPK_DOUBLE:
for (; *value; ++value) {
if (!('0' <= *value && *value <= '9') && *value != '.' && *value != '-' && *value != '/') {
strm << "Expected values for parameter " << name
<< " is a double. It was given argument '" << _value << "'";
throw default_exception(strm.str());
}
}
break;
case CPK_BOOL:
if (strcmp(value, "true") != 0 && strcmp(value, "false") != 0) {
strm << "Expected values for parameter " << name
<< " are 'true' or 'false'. It was given argument '" << value << "'";
throw default_exception(strm.str());
}
break;
default:
break;
}
}
void set(param_descrs const & d, symbol const & param_name, char const * value, symbol const & mod_name) { void set(param_descrs const & d, symbol const & param_name, char const * value, symbol const & mod_name) {
param_kind k = d.get_kind(param_name); param_kind k = d.get_kind(param_name);
@ -292,11 +328,13 @@ public:
symbol m, p; symbol m, p;
normalize(name, m, p); normalize(name, m, p);
if (m == symbol::null) { if (m == symbol::null) {
validate_type(p, value, get_param_descrs());
set(get_param_descrs(), p, value, m); set(get_param_descrs(), p, value, m);
} }
else { else {
param_descrs * d; param_descrs * d;
if (get_module_param_descrs().find(m, d)) { if (get_module_param_descrs().find(m, d)) {
validate_type(p, value, *d);
set(*d, p, value, m); set(*d, p, value, m);
} }
else { else {