mirror of
https://github.com/Z3Prover/z3
synced 2025-06-23 06:13:40 +00:00
remove dependencies on contracts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
12fc670839
commit
3d37060fa9
72 changed files with 734 additions and 1232 deletions
|
@ -18,7 +18,7 @@ Notes:
|
|||
--*/
|
||||
|
||||
using System;
|
||||
using System.Diagnostics.Contracts;
|
||||
using System.Diagnostics;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Microsoft.Z3
|
||||
|
@ -26,7 +26,6 @@ namespace Microsoft.Z3
|
|||
/// <summary>
|
||||
/// A Model contains interpretations (assignments) of constants and functions.
|
||||
/// </summary>
|
||||
[ContractVerification(true)]
|
||||
public class Model : Z3Object
|
||||
{
|
||||
/// <summary>
|
||||
|
@ -36,7 +35,7 @@ namespace Microsoft.Z3
|
|||
/// <returns>An expression if the constant has an interpretation in the model, null otherwise.</returns>
|
||||
public Expr ConstInterp(Expr a)
|
||||
{
|
||||
Contract.Requires(a != null);
|
||||
Debug.Assert(a != null);
|
||||
|
||||
Context.CheckContextMatch(a);
|
||||
return ConstInterp(a.FuncDecl);
|
||||
|
@ -49,7 +48,7 @@ namespace Microsoft.Z3
|
|||
/// <returns>An expression if the function has an interpretation in the model, null otherwise.</returns>
|
||||
public Expr ConstInterp(FuncDecl f)
|
||||
{
|
||||
Contract.Requires(f != null);
|
||||
Debug.Assert(f != null);
|
||||
|
||||
Context.CheckContextMatch(f);
|
||||
if (f.Arity != 0 ||
|
||||
|
@ -70,7 +69,7 @@ namespace Microsoft.Z3
|
|||
/// <returns>A FunctionInterpretation if the function has an interpretation in the model, null otherwise.</returns>
|
||||
public FuncInterp FuncInterp(FuncDecl f)
|
||||
{
|
||||
Contract.Requires(f != null);
|
||||
Debug.Assert(f != null);
|
||||
|
||||
Context.CheckContextMatch(f);
|
||||
|
||||
|
@ -122,7 +121,6 @@ namespace Microsoft.Z3
|
|||
{
|
||||
get
|
||||
{
|
||||
Contract.Ensures(Contract.Result<FuncDecl[]>() != null);
|
||||
|
||||
uint n = NumConsts;
|
||||
FuncDecl[] res = new FuncDecl[n];
|
||||
|
@ -165,7 +163,6 @@ namespace Microsoft.Z3
|
|||
{
|
||||
get
|
||||
{
|
||||
Contract.Ensures(Contract.Result<FuncDecl[]>() != null);
|
||||
|
||||
uint n = NumFuncs;
|
||||
FuncDecl[] res = new FuncDecl[n];
|
||||
|
@ -182,7 +179,6 @@ namespace Microsoft.Z3
|
|||
{
|
||||
get
|
||||
{
|
||||
Contract.Ensures(Contract.Result<FuncDecl[]>() != null);
|
||||
|
||||
uint nFuncs = NumFuncs;
|
||||
uint nConsts = NumConsts;
|
||||
|
@ -223,8 +219,7 @@ namespace Microsoft.Z3
|
|||
/// <returns>The evaluation of <paramref name="t"/> in the model.</returns>
|
||||
public Expr Eval(Expr t, bool completion = false)
|
||||
{
|
||||
Contract.Requires(t != null);
|
||||
Contract.Ensures(Contract.Result<Expr>() != null);
|
||||
Debug.Assert(t != null);
|
||||
|
||||
IntPtr v = IntPtr.Zero;
|
||||
if (Native.Z3_model_eval(Context.nCtx, NativeObject, t.NativeObject, (byte)(completion ? 1 : 0), ref v) == (byte)0)
|
||||
|
@ -238,8 +233,7 @@ namespace Microsoft.Z3
|
|||
/// </summary>
|
||||
public Expr Evaluate(Expr t, bool completion = false)
|
||||
{
|
||||
Contract.Requires(t != null);
|
||||
Contract.Ensures(Contract.Result<Expr>() != null);
|
||||
Debug.Assert(t != null);
|
||||
|
||||
return Eval(t, completion);
|
||||
}
|
||||
|
@ -263,7 +257,6 @@ namespace Microsoft.Z3
|
|||
{
|
||||
get
|
||||
{
|
||||
Contract.Ensures(Contract.Result<Sort[]>() != null);
|
||||
|
||||
uint n = NumSorts;
|
||||
Sort[] res = new Sort[n];
|
||||
|
@ -281,8 +274,7 @@ namespace Microsoft.Z3
|
|||
/// <returns>An array of expressions, where each is an element of the universe of <paramref name="s"/></returns>
|
||||
public Expr[] SortUniverse(Sort s)
|
||||
{
|
||||
Contract.Requires(s != null);
|
||||
Contract.Ensures(Contract.Result<Expr[]>() != null);
|
||||
Debug.Assert(s != null);
|
||||
|
||||
ASTVector av = new ASTVector(Context, Native.Z3_model_get_sort_universe(Context.nCtx, NativeObject, s.NativeObject));
|
||||
return av.ToExprArray();
|
||||
|
@ -301,7 +293,7 @@ namespace Microsoft.Z3
|
|||
internal Model(Context ctx, IntPtr obj)
|
||||
: base(ctx, obj)
|
||||
{
|
||||
Contract.Requires(ctx != null);
|
||||
Debug.Assert(ctx != null);
|
||||
}
|
||||
|
||||
internal class DecRefQueue : IDecRefQueue
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue