21 using System.Diagnostics.Contracts;
23 namespace Microsoft.Z3
28 [ContractVerification(
true)]
38 Contract.Ensures(Contract.Result<
Sort>() != null);
40 return Sort.Create(
Context, Native.Z3_get_array_sort_domain(Context.nCtx, NativeObject));
51 Contract.Ensures(Contract.Result<
Sort>() != null);
53 return Sort.Create(
Context, Native.Z3_get_array_sort_range(Context.nCtx, NativeObject));
58 internal ArraySort(
Context ctx, IntPtr obj) : base(ctx, obj) { Contract.Requires(ctx != null); }
59 internal ArraySort(Context ctx, Sort domain, Sort range)
60 : base(ctx, Native.
Z3_mk_array_sort(ctx.nCtx, domain.NativeObject, range.NativeObject))
62 Contract.Requires(ctx != null);
63 Contract.Requires(domain != null);
64 Contract.Requires(range != null);
Z3_sort Z3_API Z3_mk_array_sort(Z3_context c, Z3_sort domain, Z3_sort range)
Create an array type.
The main interaction with Z3 happens via the Context.
The Sort class implements type information for ASTs.