mirror of
https://github.com/Z3Prover/z3
synced 2026-02-07 17:47:58 +00:00
Add missing API functions to C++, Java, C#, and TypeScript bindings (#8152)
* Initial plan * Add missing API functions to C++, Java, C#, and TypeScript bindings Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Fix TypeScript type errors in new API functions Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Address code review comments and add documentation Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Fix TypeScript async issue in polynomialSubresultants Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Delete API_COHERENCE_FIXES.md --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
854d7a5af1
commit
5aac5c98b3
5 changed files with 158 additions and 1 deletions
|
|
@ -4849,6 +4849,44 @@ namespace Microsoft.Z3
|
|||
return a.NativeObject;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a partial order relation over a sort.
|
||||
/// </summary>
|
||||
/// <param name="a">The sort of the relation.</param>
|
||||
/// <param name="index">The index of the relation.</param>
|
||||
public FuncDecl MkPartialOrder(Sort a, uint index)
|
||||
{
|
||||
return new FuncDecl(this, Native.Z3_mk_partial_order(this.nCtx, a.NativeObject, index));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create the transitive closure of a binary relation.
|
||||
/// </summary>
|
||||
/// <remarks>The resulting relation is recursive.</remarks>
|
||||
/// <param name="f">A binary relation represented as a function declaration.</param>
|
||||
public FuncDecl MkTransitiveClosure(FuncDecl f)
|
||||
{
|
||||
return new FuncDecl(this, Native.Z3_mk_transitive_closure(this.nCtx, f.NativeObject));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return the nonzero subresultants of p and q with respect to the "variable" x.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// p, q and x are Z3 expressions where p and q are arithmetic terms.
|
||||
/// Note that any subterm that cannot be viewed as a polynomial is assumed to be a variable.
|
||||
/// </remarks>
|
||||
/// <param name="p">First arithmetic term.</param>
|
||||
/// <param name="q">Second arithmetic term.</param>
|
||||
/// <param name="x">The variable with respect to which subresultants are computed.</param>
|
||||
public ASTVector PolynomialSubresultants(Expr p, Expr q, Expr x)
|
||||
{
|
||||
CheckContextMatch(p);
|
||||
CheckContextMatch(q);
|
||||
CheckContextMatch(x);
|
||||
return new ASTVector(this, Native.Z3_polynomial_subresultants(this.nCtx, p.NativeObject, q.NativeObject, x.NativeObject));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return a string describing all available parameters to <c>Expr.Simplify</c>.
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue