mirror of
https://github.com/Z3Prover/z3
synced 2025-04-27 10:55:50 +00:00
add array-ext to externally exposed functions to enable interpolants with arrays to be usable in feedback loops with Z3. Addresses one issue raised in #292
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
8d1fa3ae50
commit
4685a5f8ba
12 changed files with 71 additions and 16 deletions
|
@ -2122,6 +2122,21 @@ namespace Microsoft.Z3
|
|||
CheckContextMatch(array);
|
||||
return Expr.Create(this, Native.Z3_mk_array_default(nCtx, array.NativeObject));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create Extentionality index. Two arrays are equal if and only if they are equal on the index returned by MkArrayExt.
|
||||
/// </summary>
|
||||
public Expr MkArrayExt(ArrayExpr arg1, ArrayExpr arg2)
|
||||
{
|
||||
Contract.Requires(arg1 != null);
|
||||
Contract.Requires(arg2 != null);
|
||||
Contract.Ensures(Contract.Result<Expr>() != null);
|
||||
|
||||
CheckContextMatch(arg1);
|
||||
CheckContextMatch(arg2);
|
||||
return Expr.Create(this, Native.Z3_mk_array_ext(nCtx, arg1.NativeObject, arg2.NativeObject));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Sets
|
||||
|
@ -2268,6 +2283,7 @@ namespace Microsoft.Z3
|
|||
CheckContextMatch(arg2);
|
||||
return (BoolExpr) Expr.Create(this, Native.Z3_mk_set_subset(nCtx, arg1.NativeObject, arg2.NativeObject));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Pseudo-Boolean constraints
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue