Z3
src/api/dotnet/Native.cs
Go to the documentation of this file.
00001 // Automatically generated file
00002 using System;
00003 using System.Collections.Generic;
00004 using System.Text;
00005 using System.Runtime.InteropServices;
00006 
00007 #pragma warning disable 1591
00008 
00009 namespace Microsoft.Z3
00010 {
00011     using Z3_config = System.IntPtr;
00012     using Z3_context = System.IntPtr;
00013     using Z3_ast = System.IntPtr;
00014     using Z3_app = System.IntPtr;
00015     using Z3_sort = System.IntPtr;
00016     using Z3_func_decl = System.IntPtr;
00017     using Z3_pattern = System.IntPtr;
00018     using Z3_model = System.IntPtr;
00019     using Z3_literals = System.IntPtr;
00020     using Z3_constructor = System.IntPtr;
00021     using Z3_constructor_list = System.IntPtr;
00022     using Z3_theory = System.IntPtr;
00023     using Z3_theory_data = System.IntPtr;
00024     using Z3_solver = System.IntPtr;
00025     using Z3_goal = System.IntPtr;
00026     using Z3_tactic = System.IntPtr;
00027     using Z3_params = System.IntPtr;
00028     using Z3_probe = System.IntPtr;
00029     using Z3_stats = System.IntPtr;
00030     using Z3_ast_vector = System.IntPtr;
00031     using Z3_ast_map = System.IntPtr;
00032     using Z3_apply_result = System.IntPtr;
00033     using Z3_func_interp = System.IntPtr;
00034     using Z3_func_entry = System.IntPtr;
00035     using Z3_fixedpoint = System.IntPtr;
00036     using Z3_param_descrs = System.IntPtr;
00037     using Z3_rcf_num = System.IntPtr;
00038 
00039     public class Native
00040     {
00041 
00042         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
00043         public delegate void Z3_error_handler(Z3_context c, Z3_error_code e);
00044 
00045         public unsafe class LIB
00046         {
00047             const string Z3_DLL_NAME = "libz3.dll";
00048             
00049             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00050             public extern static void Z3_set_error_handler(Z3_context a0, Z3_error_handler a1);
00051 
00052             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00053             public extern static void Z3_global_param_set(string a0, string a1);
00054 
00055             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00056             public extern static void Z3_global_param_reset_all();
00057 
00058             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00059             public extern static int Z3_global_param_get(string a0, out IntPtr a1);
00060 
00061             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00062             public extern static Z3_config Z3_mk_config();
00063 
00064             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00065             public extern static void Z3_del_config(Z3_config a0);
00066 
00067             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00068             public extern static void Z3_set_param_value(Z3_config a0, string a1, string a2);
00069 
00070             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00071             public extern static Z3_context Z3_mk_context(Z3_config a0);
00072 
00073             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00074             public extern static Z3_context Z3_mk_context_rc(Z3_config a0);
00075 
00076             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00077             public extern static void Z3_del_context(Z3_context a0);
00078 
00079             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00080             public extern static void Z3_inc_ref(Z3_context a0, Z3_ast a1);
00081 
00082             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00083             public extern static void Z3_dec_ref(Z3_context a0, Z3_ast a1);
00084 
00085             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00086             public extern static void Z3_update_param_value(Z3_context a0, string a1, string a2);
00087 
00088             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00089             public extern static void Z3_interrupt(Z3_context a0);
00090 
00091             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00092             public extern static Z3_params Z3_mk_params(Z3_context a0);
00093 
00094             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00095             public extern static void Z3_params_inc_ref(Z3_context a0, Z3_params a1);
00096 
00097             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00098             public extern static void Z3_params_dec_ref(Z3_context a0, Z3_params a1);
00099 
00100             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00101             public extern static void Z3_params_set_bool(Z3_context a0, Z3_params a1, IntPtr a2, int a3);
00102 
00103             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00104             public extern static void Z3_params_set_uint(Z3_context a0, Z3_params a1, IntPtr a2, uint a3);
00105 
00106             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00107             public extern static void Z3_params_set_double(Z3_context a0, Z3_params a1, IntPtr a2, double a3);
00108 
00109             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00110             public extern static void Z3_params_set_symbol(Z3_context a0, Z3_params a1, IntPtr a2, IntPtr a3);
00111 
00112             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00113             public extern static IntPtr Z3_params_to_string(Z3_context a0, Z3_params a1);
00114 
00115             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00116             public extern static void Z3_params_validate(Z3_context a0, Z3_params a1, Z3_param_descrs a2);
00117 
00118             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00119             public extern static void Z3_param_descrs_inc_ref(Z3_context a0, Z3_param_descrs a1);
00120 
00121             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00122             public extern static void Z3_param_descrs_dec_ref(Z3_context a0, Z3_param_descrs a1);
00123 
00124             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00125             public extern static uint Z3_param_descrs_get_kind(Z3_context a0, Z3_param_descrs a1, IntPtr a2);
00126 
00127             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00128             public extern static uint Z3_param_descrs_size(Z3_context a0, Z3_param_descrs a1);
00129 
00130             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00131             public extern static IntPtr Z3_param_descrs_get_name(Z3_context a0, Z3_param_descrs a1, uint a2);
00132 
00133             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00134             public extern static IntPtr Z3_param_descrs_to_string(Z3_context a0, Z3_param_descrs a1);
00135 
00136             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00137             public extern static IntPtr Z3_mk_int_symbol(Z3_context a0, int a1);
00138 
00139             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00140             public extern static IntPtr Z3_mk_string_symbol(Z3_context a0, string a1);
00141 
00142             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00143             public extern static Z3_sort Z3_mk_uninterpreted_sort(Z3_context a0, IntPtr a1);
00144 
00145             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00146             public extern static Z3_sort Z3_mk_bool_sort(Z3_context a0);
00147 
00148             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00149             public extern static Z3_sort Z3_mk_int_sort(Z3_context a0);
00150 
00151             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00152             public extern static Z3_sort Z3_mk_real_sort(Z3_context a0);
00153 
00154             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00155             public extern static Z3_sort Z3_mk_bv_sort(Z3_context a0, uint a1);
00156 
00157             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00158             public extern static Z3_sort Z3_mk_finite_domain_sort(Z3_context a0, IntPtr a1, UInt64 a2);
00159 
00160             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00161             public extern static Z3_sort Z3_mk_array_sort(Z3_context a0, Z3_sort a1, Z3_sort a2);
00162 
00163             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00164             public extern static Z3_sort Z3_mk_tuple_sort(Z3_context a0, IntPtr a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, [In, Out] ref Z3_func_decl a5, [Out] Z3_func_decl[] a6);
00165 
00166             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00167             public extern static Z3_sort Z3_mk_enumeration_sort(Z3_context a0, IntPtr a1, uint a2, [In] IntPtr[] a3, [Out] Z3_func_decl[] a4, [Out] Z3_func_decl[] a5);
00168 
00169             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00170             public extern static Z3_sort Z3_mk_list_sort(Z3_context a0, IntPtr a1, Z3_sort a2, [In, Out] ref Z3_func_decl a3, [In, Out] ref Z3_func_decl a4, [In, Out] ref Z3_func_decl a5, [In, Out] ref Z3_func_decl a6, [In, Out] ref Z3_func_decl a7, [In, Out] ref Z3_func_decl a8);
00171 
00172             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00173             public extern static Z3_constructor Z3_mk_constructor(Z3_context a0, IntPtr a1, IntPtr a2, uint a3, [In] IntPtr[] a4, [In] Z3_sort[] a5, [In] uint[] a6);
00174 
00175             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00176             public extern static void Z3_del_constructor(Z3_context a0, Z3_constructor a1);
00177 
00178             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00179             public extern static Z3_sort Z3_mk_datatype(Z3_context a0, IntPtr a1, uint a2, [In, Out] Z3_constructor[] a3);
00180 
00181             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00182             public extern static Z3_constructor_list Z3_mk_constructor_list(Z3_context a0, uint a1, [In] Z3_constructor[] a2);
00183 
00184             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00185             public extern static void Z3_del_constructor_list(Z3_context a0, Z3_constructor_list a1);
00186 
00187             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00188             public extern static void Z3_mk_datatypes(Z3_context a0, uint a1, [In] IntPtr[] a2, [Out] Z3_sort[] a3, [In, Out] Z3_constructor_list[] a4);
00189 
00190             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00191             public extern static void Z3_query_constructor(Z3_context a0, Z3_constructor a1, uint a2, [In, Out] ref Z3_func_decl a3, [In, Out] ref Z3_func_decl a4, [Out] Z3_func_decl[] a5);
00192 
00193             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00194             public extern static Z3_func_decl Z3_mk_func_decl(Z3_context a0, IntPtr a1, uint a2, [In] Z3_sort[] a3, Z3_sort a4);
00195 
00196             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00197             public extern static Z3_ast Z3_mk_app(Z3_context a0, Z3_func_decl a1, uint a2, [In] Z3_ast[] a3);
00198 
00199             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00200             public extern static Z3_ast Z3_mk_const(Z3_context a0, IntPtr a1, Z3_sort a2);
00201 
00202             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00203             public extern static Z3_func_decl Z3_mk_fresh_func_decl(Z3_context a0, string a1, uint a2, [In] Z3_sort[] a3, Z3_sort a4);
00204 
00205             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00206             public extern static Z3_ast Z3_mk_fresh_const(Z3_context a0, string a1, Z3_sort a2);
00207 
00208             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00209             public extern static Z3_ast Z3_mk_true(Z3_context a0);
00210 
00211             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00212             public extern static Z3_ast Z3_mk_false(Z3_context a0);
00213 
00214             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00215             public extern static Z3_ast Z3_mk_eq(Z3_context a0, Z3_ast a1, Z3_ast a2);
00216 
00217             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00218             public extern static Z3_ast Z3_mk_distinct(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00219 
00220             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00221             public extern static Z3_ast Z3_mk_not(Z3_context a0, Z3_ast a1);
00222 
00223             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00224             public extern static Z3_ast Z3_mk_ite(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_ast a3);
00225 
00226             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00227             public extern static Z3_ast Z3_mk_iff(Z3_context a0, Z3_ast a1, Z3_ast a2);
00228 
00229             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00230             public extern static Z3_ast Z3_mk_implies(Z3_context a0, Z3_ast a1, Z3_ast a2);
00231 
00232             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00233             public extern static Z3_ast Z3_mk_xor(Z3_context a0, Z3_ast a1, Z3_ast a2);
00234 
00235             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00236             public extern static Z3_ast Z3_mk_and(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00237 
00238             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00239             public extern static Z3_ast Z3_mk_or(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00240 
00241             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00242             public extern static Z3_ast Z3_mk_add(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00243 
00244             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00245             public extern static Z3_ast Z3_mk_mul(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00246 
00247             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00248             public extern static Z3_ast Z3_mk_sub(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00249 
00250             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00251             public extern static Z3_ast Z3_mk_unary_minus(Z3_context a0, Z3_ast a1);
00252 
00253             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00254             public extern static Z3_ast Z3_mk_div(Z3_context a0, Z3_ast a1, Z3_ast a2);
00255 
00256             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00257             public extern static Z3_ast Z3_mk_mod(Z3_context a0, Z3_ast a1, Z3_ast a2);
00258 
00259             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00260             public extern static Z3_ast Z3_mk_rem(Z3_context a0, Z3_ast a1, Z3_ast a2);
00261 
00262             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00263             public extern static Z3_ast Z3_mk_power(Z3_context a0, Z3_ast a1, Z3_ast a2);
00264 
00265             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00266             public extern static Z3_ast Z3_mk_lt(Z3_context a0, Z3_ast a1, Z3_ast a2);
00267 
00268             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00269             public extern static Z3_ast Z3_mk_le(Z3_context a0, Z3_ast a1, Z3_ast a2);
00270 
00271             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00272             public extern static Z3_ast Z3_mk_gt(Z3_context a0, Z3_ast a1, Z3_ast a2);
00273 
00274             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00275             public extern static Z3_ast Z3_mk_ge(Z3_context a0, Z3_ast a1, Z3_ast a2);
00276 
00277             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00278             public extern static Z3_ast Z3_mk_int2real(Z3_context a0, Z3_ast a1);
00279 
00280             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00281             public extern static Z3_ast Z3_mk_real2int(Z3_context a0, Z3_ast a1);
00282 
00283             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00284             public extern static Z3_ast Z3_mk_is_int(Z3_context a0, Z3_ast a1);
00285 
00286             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00287             public extern static Z3_ast Z3_mk_bvnot(Z3_context a0, Z3_ast a1);
00288 
00289             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00290             public extern static Z3_ast Z3_mk_bvredand(Z3_context a0, Z3_ast a1);
00291 
00292             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00293             public extern static Z3_ast Z3_mk_bvredor(Z3_context a0, Z3_ast a1);
00294 
00295             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00296             public extern static Z3_ast Z3_mk_bvand(Z3_context a0, Z3_ast a1, Z3_ast a2);
00297 
00298             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00299             public extern static Z3_ast Z3_mk_bvor(Z3_context a0, Z3_ast a1, Z3_ast a2);
00300 
00301             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00302             public extern static Z3_ast Z3_mk_bvxor(Z3_context a0, Z3_ast a1, Z3_ast a2);
00303 
00304             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00305             public extern static Z3_ast Z3_mk_bvnand(Z3_context a0, Z3_ast a1, Z3_ast a2);
00306 
00307             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00308             public extern static Z3_ast Z3_mk_bvnor(Z3_context a0, Z3_ast a1, Z3_ast a2);
00309 
00310             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00311             public extern static Z3_ast Z3_mk_bvxnor(Z3_context a0, Z3_ast a1, Z3_ast a2);
00312 
00313             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00314             public extern static Z3_ast Z3_mk_bvneg(Z3_context a0, Z3_ast a1);
00315 
00316             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00317             public extern static Z3_ast Z3_mk_bvadd(Z3_context a0, Z3_ast a1, Z3_ast a2);
00318 
00319             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00320             public extern static Z3_ast Z3_mk_bvsub(Z3_context a0, Z3_ast a1, Z3_ast a2);
00321 
00322             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00323             public extern static Z3_ast Z3_mk_bvmul(Z3_context a0, Z3_ast a1, Z3_ast a2);
00324 
00325             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00326             public extern static Z3_ast Z3_mk_bvudiv(Z3_context a0, Z3_ast a1, Z3_ast a2);
00327 
00328             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00329             public extern static Z3_ast Z3_mk_bvsdiv(Z3_context a0, Z3_ast a1, Z3_ast a2);
00330 
00331             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00332             public extern static Z3_ast Z3_mk_bvurem(Z3_context a0, Z3_ast a1, Z3_ast a2);
00333 
00334             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00335             public extern static Z3_ast Z3_mk_bvsrem(Z3_context a0, Z3_ast a1, Z3_ast a2);
00336 
00337             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00338             public extern static Z3_ast Z3_mk_bvsmod(Z3_context a0, Z3_ast a1, Z3_ast a2);
00339 
00340             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00341             public extern static Z3_ast Z3_mk_bvult(Z3_context a0, Z3_ast a1, Z3_ast a2);
00342 
00343             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00344             public extern static Z3_ast Z3_mk_bvslt(Z3_context a0, Z3_ast a1, Z3_ast a2);
00345 
00346             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00347             public extern static Z3_ast Z3_mk_bvule(Z3_context a0, Z3_ast a1, Z3_ast a2);
00348 
00349             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00350             public extern static Z3_ast Z3_mk_bvsle(Z3_context a0, Z3_ast a1, Z3_ast a2);
00351 
00352             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00353             public extern static Z3_ast Z3_mk_bvuge(Z3_context a0, Z3_ast a1, Z3_ast a2);
00354 
00355             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00356             public extern static Z3_ast Z3_mk_bvsge(Z3_context a0, Z3_ast a1, Z3_ast a2);
00357 
00358             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00359             public extern static Z3_ast Z3_mk_bvugt(Z3_context a0, Z3_ast a1, Z3_ast a2);
00360 
00361             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00362             public extern static Z3_ast Z3_mk_bvsgt(Z3_context a0, Z3_ast a1, Z3_ast a2);
00363 
00364             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00365             public extern static Z3_ast Z3_mk_concat(Z3_context a0, Z3_ast a1, Z3_ast a2);
00366 
00367             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00368             public extern static Z3_ast Z3_mk_extract(Z3_context a0, uint a1, uint a2, Z3_ast a3);
00369 
00370             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00371             public extern static Z3_ast Z3_mk_sign_ext(Z3_context a0, uint a1, Z3_ast a2);
00372 
00373             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00374             public extern static Z3_ast Z3_mk_zero_ext(Z3_context a0, uint a1, Z3_ast a2);
00375 
00376             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00377             public extern static Z3_ast Z3_mk_repeat(Z3_context a0, uint a1, Z3_ast a2);
00378 
00379             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00380             public extern static Z3_ast Z3_mk_bvshl(Z3_context a0, Z3_ast a1, Z3_ast a2);
00381 
00382             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00383             public extern static Z3_ast Z3_mk_bvlshr(Z3_context a0, Z3_ast a1, Z3_ast a2);
00384 
00385             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00386             public extern static Z3_ast Z3_mk_bvashr(Z3_context a0, Z3_ast a1, Z3_ast a2);
00387 
00388             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00389             public extern static Z3_ast Z3_mk_rotate_left(Z3_context a0, uint a1, Z3_ast a2);
00390 
00391             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00392             public extern static Z3_ast Z3_mk_rotate_right(Z3_context a0, uint a1, Z3_ast a2);
00393 
00394             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00395             public extern static Z3_ast Z3_mk_ext_rotate_left(Z3_context a0, Z3_ast a1, Z3_ast a2);
00396 
00397             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00398             public extern static Z3_ast Z3_mk_ext_rotate_right(Z3_context a0, Z3_ast a1, Z3_ast a2);
00399 
00400             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00401             public extern static Z3_ast Z3_mk_int2bv(Z3_context a0, uint a1, Z3_ast a2);
00402 
00403             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00404             public extern static Z3_ast Z3_mk_bv2int(Z3_context a0, Z3_ast a1, int a2);
00405 
00406             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00407             public extern static Z3_ast Z3_mk_bvadd_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2, int a3);
00408 
00409             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00410             public extern static Z3_ast Z3_mk_bvadd_no_underflow(Z3_context a0, Z3_ast a1, Z3_ast a2);
00411 
00412             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00413             public extern static Z3_ast Z3_mk_bvsub_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2);
00414 
00415             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00416             public extern static Z3_ast Z3_mk_bvsub_no_underflow(Z3_context a0, Z3_ast a1, Z3_ast a2, int a3);
00417 
00418             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00419             public extern static Z3_ast Z3_mk_bvsdiv_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2);
00420 
00421             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00422             public extern static Z3_ast Z3_mk_bvneg_no_overflow(Z3_context a0, Z3_ast a1);
00423 
00424             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00425             public extern static Z3_ast Z3_mk_bvmul_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2, int a3);
00426 
00427             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00428             public extern static Z3_ast Z3_mk_bvmul_no_underflow(Z3_context a0, Z3_ast a1, Z3_ast a2);
00429 
00430             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00431             public extern static Z3_ast Z3_mk_select(Z3_context a0, Z3_ast a1, Z3_ast a2);
00432 
00433             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00434             public extern static Z3_ast Z3_mk_store(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_ast a3);
00435 
00436             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00437             public extern static Z3_ast Z3_mk_const_array(Z3_context a0, Z3_sort a1, Z3_ast a2);
00438 
00439             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00440             public extern static Z3_ast Z3_mk_map(Z3_context a0, Z3_func_decl a1, uint a2, [In] Z3_ast[] a3);
00441 
00442             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00443             public extern static Z3_ast Z3_mk_array_default(Z3_context a0, Z3_ast a1);
00444 
00445             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00446             public extern static Z3_sort Z3_mk_set_sort(Z3_context a0, Z3_sort a1);
00447 
00448             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00449             public extern static Z3_ast Z3_mk_empty_set(Z3_context a0, Z3_sort a1);
00450 
00451             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00452             public extern static Z3_ast Z3_mk_full_set(Z3_context a0, Z3_sort a1);
00453 
00454             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00455             public extern static Z3_ast Z3_mk_set_add(Z3_context a0, Z3_ast a1, Z3_ast a2);
00456 
00457             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00458             public extern static Z3_ast Z3_mk_set_del(Z3_context a0, Z3_ast a1, Z3_ast a2);
00459 
00460             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00461             public extern static Z3_ast Z3_mk_set_union(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00462 
00463             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00464             public extern static Z3_ast Z3_mk_set_intersect(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00465 
00466             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00467             public extern static Z3_ast Z3_mk_set_difference(Z3_context a0, Z3_ast a1, Z3_ast a2);
00468 
00469             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00470             public extern static Z3_ast Z3_mk_set_complement(Z3_context a0, Z3_ast a1);
00471 
00472             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00473             public extern static Z3_ast Z3_mk_set_member(Z3_context a0, Z3_ast a1, Z3_ast a2);
00474 
00475             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00476             public extern static Z3_ast Z3_mk_set_subset(Z3_context a0, Z3_ast a1, Z3_ast a2);
00477 
00478             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00479             public extern static Z3_ast Z3_mk_numeral(Z3_context a0, string a1, Z3_sort a2);
00480 
00481             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00482             public extern static Z3_ast Z3_mk_real(Z3_context a0, int a1, int a2);
00483 
00484             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00485             public extern static Z3_ast Z3_mk_int(Z3_context a0, int a1, Z3_sort a2);
00486 
00487             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00488             public extern static Z3_ast Z3_mk_unsigned_int(Z3_context a0, uint a1, Z3_sort a2);
00489 
00490             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00491             public extern static Z3_ast Z3_mk_int64(Z3_context a0, Int64 a1, Z3_sort a2);
00492 
00493             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00494             public extern static Z3_ast Z3_mk_unsigned_int64(Z3_context a0, UInt64 a1, Z3_sort a2);
00495 
00496             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00497             public extern static Z3_pattern Z3_mk_pattern(Z3_context a0, uint a1, [In] Z3_ast[] a2);
00498 
00499             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00500             public extern static Z3_ast Z3_mk_bound(Z3_context a0, uint a1, Z3_sort a2);
00501 
00502             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00503             public extern static Z3_ast Z3_mk_forall(Z3_context a0, uint a1, uint a2, [In] Z3_pattern[] a3, uint a4, [In] Z3_sort[] a5, [In] IntPtr[] a6, Z3_ast a7);
00504 
00505             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00506             public extern static Z3_ast Z3_mk_exists(Z3_context a0, uint a1, uint a2, [In] Z3_pattern[] a3, uint a4, [In] Z3_sort[] a5, [In] IntPtr[] a6, Z3_ast a7);
00507 
00508             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00509             public extern static Z3_ast Z3_mk_quantifier(Z3_context a0, int a1, uint a2, uint a3, [In] Z3_pattern[] a4, uint a5, [In] Z3_sort[] a6, [In] IntPtr[] a7, Z3_ast a8);
00510 
00511             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00512             public extern static Z3_ast Z3_mk_quantifier_ex(Z3_context a0, int a1, uint a2, IntPtr a3, IntPtr a4, uint a5, [In] Z3_pattern[] a6, uint a7, [In] Z3_ast[] a8, uint a9, [In] Z3_sort[] a10, [In] IntPtr[] a11, Z3_ast a12);
00513 
00514             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00515             public extern static Z3_ast Z3_mk_forall_const(Z3_context a0, uint a1, uint a2, [In] Z3_app[] a3, uint a4, [In] Z3_pattern[] a5, Z3_ast a6);
00516 
00517             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00518             public extern static Z3_ast Z3_mk_exists_const(Z3_context a0, uint a1, uint a2, [In] Z3_app[] a3, uint a4, [In] Z3_pattern[] a5, Z3_ast a6);
00519 
00520             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00521             public extern static Z3_ast Z3_mk_quantifier_const(Z3_context a0, int a1, uint a2, uint a3, [In] Z3_app[] a4, uint a5, [In] Z3_pattern[] a6, Z3_ast a7);
00522 
00523             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00524             public extern static Z3_ast Z3_mk_quantifier_const_ex(Z3_context a0, int a1, uint a2, IntPtr a3, IntPtr a4, uint a5, [In] Z3_app[] a6, uint a7, [In] Z3_pattern[] a8, uint a9, [In] Z3_ast[] a10, Z3_ast a11);
00525 
00526             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00527             public extern static uint Z3_get_symbol_kind(Z3_context a0, IntPtr a1);
00528 
00529             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00530             public extern static int Z3_get_symbol_int(Z3_context a0, IntPtr a1);
00531 
00532             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00533             public extern static IntPtr Z3_get_symbol_string(Z3_context a0, IntPtr a1);
00534 
00535             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00536             public extern static IntPtr Z3_get_sort_name(Z3_context a0, Z3_sort a1);
00537 
00538             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00539             public extern static uint Z3_get_sort_id(Z3_context a0, Z3_sort a1);
00540 
00541             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00542             public extern static Z3_ast Z3_sort_to_ast(Z3_context a0, Z3_sort a1);
00543 
00544             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00545             public extern static int Z3_is_eq_sort(Z3_context a0, Z3_sort a1, Z3_sort a2);
00546 
00547             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00548             public extern static uint Z3_get_sort_kind(Z3_context a0, Z3_sort a1);
00549 
00550             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00551             public extern static uint Z3_get_bv_sort_size(Z3_context a0, Z3_sort a1);
00552 
00553             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00554             public extern static int Z3_get_finite_domain_sort_size(Z3_context a0, Z3_sort a1, [In, Out] ref UInt64 a2);
00555 
00556             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00557             public extern static Z3_sort Z3_get_array_sort_domain(Z3_context a0, Z3_sort a1);
00558 
00559             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00560             public extern static Z3_sort Z3_get_array_sort_range(Z3_context a0, Z3_sort a1);
00561 
00562             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00563             public extern static Z3_func_decl Z3_get_tuple_sort_mk_decl(Z3_context a0, Z3_sort a1);
00564 
00565             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00566             public extern static uint Z3_get_tuple_sort_num_fields(Z3_context a0, Z3_sort a1);
00567 
00568             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00569             public extern static Z3_func_decl Z3_get_tuple_sort_field_decl(Z3_context a0, Z3_sort a1, uint a2);
00570 
00571             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00572             public extern static uint Z3_get_datatype_sort_num_constructors(Z3_context a0, Z3_sort a1);
00573 
00574             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00575             public extern static Z3_func_decl Z3_get_datatype_sort_constructor(Z3_context a0, Z3_sort a1, uint a2);
00576 
00577             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00578             public extern static Z3_func_decl Z3_get_datatype_sort_recognizer(Z3_context a0, Z3_sort a1, uint a2);
00579 
00580             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00581             public extern static Z3_func_decl Z3_get_datatype_sort_constructor_accessor(Z3_context a0, Z3_sort a1, uint a2, uint a3);
00582 
00583             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00584             public extern static uint Z3_get_relation_arity(Z3_context a0, Z3_sort a1);
00585 
00586             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00587             public extern static Z3_sort Z3_get_relation_column(Z3_context a0, Z3_sort a1, uint a2);
00588 
00589             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00590             public extern static Z3_ast Z3_func_decl_to_ast(Z3_context a0, Z3_func_decl a1);
00591 
00592             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00593             public extern static int Z3_is_eq_func_decl(Z3_context a0, Z3_func_decl a1, Z3_func_decl a2);
00594 
00595             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00596             public extern static uint Z3_get_func_decl_id(Z3_context a0, Z3_func_decl a1);
00597 
00598             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00599             public extern static IntPtr Z3_get_decl_name(Z3_context a0, Z3_func_decl a1);
00600 
00601             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00602             public extern static uint Z3_get_decl_kind(Z3_context a0, Z3_func_decl a1);
00603 
00604             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00605             public extern static uint Z3_get_domain_size(Z3_context a0, Z3_func_decl a1);
00606 
00607             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00608             public extern static uint Z3_get_arity(Z3_context a0, Z3_func_decl a1);
00609 
00610             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00611             public extern static Z3_sort Z3_get_domain(Z3_context a0, Z3_func_decl a1, uint a2);
00612 
00613             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00614             public extern static Z3_sort Z3_get_range(Z3_context a0, Z3_func_decl a1);
00615 
00616             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00617             public extern static uint Z3_get_decl_num_parameters(Z3_context a0, Z3_func_decl a1);
00618 
00619             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00620             public extern static uint Z3_get_decl_parameter_kind(Z3_context a0, Z3_func_decl a1, uint a2);
00621 
00622             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00623             public extern static int Z3_get_decl_int_parameter(Z3_context a0, Z3_func_decl a1, uint a2);
00624 
00625             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00626             public extern static double Z3_get_decl_double_parameter(Z3_context a0, Z3_func_decl a1, uint a2);
00627 
00628             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00629             public extern static IntPtr Z3_get_decl_symbol_parameter(Z3_context a0, Z3_func_decl a1, uint a2);
00630 
00631             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00632             public extern static Z3_sort Z3_get_decl_sort_parameter(Z3_context a0, Z3_func_decl a1, uint a2);
00633 
00634             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00635             public extern static Z3_ast Z3_get_decl_ast_parameter(Z3_context a0, Z3_func_decl a1, uint a2);
00636 
00637             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00638             public extern static Z3_func_decl Z3_get_decl_func_decl_parameter(Z3_context a0, Z3_func_decl a1, uint a2);
00639 
00640             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00641             public extern static IntPtr Z3_get_decl_rational_parameter(Z3_context a0, Z3_func_decl a1, uint a2);
00642 
00643             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00644             public extern static Z3_ast Z3_app_to_ast(Z3_context a0, Z3_app a1);
00645 
00646             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00647             public extern static Z3_func_decl Z3_get_app_decl(Z3_context a0, Z3_app a1);
00648 
00649             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00650             public extern static uint Z3_get_app_num_args(Z3_context a0, Z3_app a1);
00651 
00652             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00653             public extern static Z3_ast Z3_get_app_arg(Z3_context a0, Z3_app a1, uint a2);
00654 
00655             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00656             public extern static int Z3_is_eq_ast(Z3_context a0, Z3_ast a1, Z3_ast a2);
00657 
00658             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00659             public extern static uint Z3_get_ast_id(Z3_context a0, Z3_ast a1);
00660 
00661             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00662             public extern static uint Z3_get_ast_hash(Z3_context a0, Z3_ast a1);
00663 
00664             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00665             public extern static Z3_sort Z3_get_sort(Z3_context a0, Z3_ast a1);
00666 
00667             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00668             public extern static int Z3_is_well_sorted(Z3_context a0, Z3_ast a1);
00669 
00670             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00671             public extern static uint Z3_get_bool_value(Z3_context a0, Z3_ast a1);
00672 
00673             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00674             public extern static uint Z3_get_ast_kind(Z3_context a0, Z3_ast a1);
00675 
00676             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00677             public extern static int Z3_is_app(Z3_context a0, Z3_ast a1);
00678 
00679             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00680             public extern static int Z3_is_numeral_ast(Z3_context a0, Z3_ast a1);
00681 
00682             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00683             public extern static int Z3_is_algebraic_number(Z3_context a0, Z3_ast a1);
00684 
00685             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00686             public extern static Z3_app Z3_to_app(Z3_context a0, Z3_ast a1);
00687 
00688             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00689             public extern static Z3_func_decl Z3_to_func_decl(Z3_context a0, Z3_ast a1);
00690 
00691             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00692             public extern static IntPtr Z3_get_numeral_string(Z3_context a0, Z3_ast a1);
00693 
00694             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00695             public extern static IntPtr Z3_get_numeral_decimal_string(Z3_context a0, Z3_ast a1, uint a2);
00696 
00697             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00698             public extern static Z3_ast Z3_get_numerator(Z3_context a0, Z3_ast a1);
00699 
00700             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00701             public extern static Z3_ast Z3_get_denominator(Z3_context a0, Z3_ast a1);
00702 
00703             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00704             public extern static int Z3_get_numeral_small(Z3_context a0, Z3_ast a1, [In, Out] ref Int64 a2, [In, Out] ref Int64 a3);
00705 
00706             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00707             public extern static int Z3_get_numeral_int(Z3_context a0, Z3_ast a1, [In, Out] ref int a2);
00708 
00709             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00710             public extern static int Z3_get_numeral_uint(Z3_context a0, Z3_ast a1, [In, Out] ref uint a2);
00711 
00712             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00713             public extern static int Z3_get_numeral_uint64(Z3_context a0, Z3_ast a1, [In, Out] ref UInt64 a2);
00714 
00715             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00716             public extern static int Z3_get_numeral_int64(Z3_context a0, Z3_ast a1, [In, Out] ref Int64 a2);
00717 
00718             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00719             public extern static int Z3_get_numeral_rational_int64(Z3_context a0, Z3_ast a1, [In, Out] ref Int64 a2, [In, Out] ref Int64 a3);
00720 
00721             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00722             public extern static Z3_ast Z3_get_algebraic_number_lower(Z3_context a0, Z3_ast a1, uint a2);
00723 
00724             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00725             public extern static Z3_ast Z3_get_algebraic_number_upper(Z3_context a0, Z3_ast a1, uint a2);
00726 
00727             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00728             public extern static Z3_ast Z3_pattern_to_ast(Z3_context a0, Z3_pattern a1);
00729 
00730             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00731             public extern static uint Z3_get_pattern_num_terms(Z3_context a0, Z3_pattern a1);
00732 
00733             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00734             public extern static Z3_ast Z3_get_pattern(Z3_context a0, Z3_pattern a1, uint a2);
00735 
00736             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00737             public extern static uint Z3_get_index_value(Z3_context a0, Z3_ast a1);
00738 
00739             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00740             public extern static int Z3_is_quantifier_forall(Z3_context a0, Z3_ast a1);
00741 
00742             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00743             public extern static uint Z3_get_quantifier_weight(Z3_context a0, Z3_ast a1);
00744 
00745             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00746             public extern static uint Z3_get_quantifier_num_patterns(Z3_context a0, Z3_ast a1);
00747 
00748             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00749             public extern static Z3_pattern Z3_get_quantifier_pattern_ast(Z3_context a0, Z3_ast a1, uint a2);
00750 
00751             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00752             public extern static uint Z3_get_quantifier_num_no_patterns(Z3_context a0, Z3_ast a1);
00753 
00754             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00755             public extern static Z3_ast Z3_get_quantifier_no_pattern_ast(Z3_context a0, Z3_ast a1, uint a2);
00756 
00757             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00758             public extern static uint Z3_get_quantifier_num_bound(Z3_context a0, Z3_ast a1);
00759 
00760             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00761             public extern static IntPtr Z3_get_quantifier_bound_name(Z3_context a0, Z3_ast a1, uint a2);
00762 
00763             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00764             public extern static Z3_sort Z3_get_quantifier_bound_sort(Z3_context a0, Z3_ast a1, uint a2);
00765 
00766             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00767             public extern static Z3_ast Z3_get_quantifier_body(Z3_context a0, Z3_ast a1);
00768 
00769             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00770             public extern static Z3_ast Z3_simplify(Z3_context a0, Z3_ast a1);
00771 
00772             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00773             public extern static Z3_ast Z3_simplify_ex(Z3_context a0, Z3_ast a1, Z3_params a2);
00774 
00775             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00776             public extern static IntPtr Z3_simplify_get_help(Z3_context a0);
00777 
00778             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00779             public extern static Z3_param_descrs Z3_simplify_get_param_descrs(Z3_context a0);
00780 
00781             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00782             public extern static Z3_ast Z3_update_term(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3);
00783 
00784             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00785             public extern static Z3_ast Z3_substitute(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3, [In] Z3_ast[] a4);
00786 
00787             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00788             public extern static Z3_ast Z3_substitute_vars(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3);
00789 
00790             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00791             public extern static Z3_ast Z3_translate(Z3_context a0, Z3_ast a1, Z3_context a2);
00792 
00793             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00794             public extern static void Z3_model_inc_ref(Z3_context a0, Z3_model a1);
00795 
00796             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00797             public extern static void Z3_model_dec_ref(Z3_context a0, Z3_model a1);
00798 
00799             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00800             public extern static int Z3_model_eval(Z3_context a0, Z3_model a1, Z3_ast a2, int a3, [In, Out] ref Z3_ast a4);
00801 
00802             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00803             public extern static Z3_ast Z3_model_get_const_interp(Z3_context a0, Z3_model a1, Z3_func_decl a2);
00804 
00805             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00806             public extern static int Z3_model_has_interp(Z3_context a0, Z3_model a1, Z3_func_decl a2);
00807 
00808             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00809             public extern static Z3_func_interp Z3_model_get_func_interp(Z3_context a0, Z3_model a1, Z3_func_decl a2);
00810 
00811             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00812             public extern static uint Z3_model_get_num_consts(Z3_context a0, Z3_model a1);
00813 
00814             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00815             public extern static Z3_func_decl Z3_model_get_const_decl(Z3_context a0, Z3_model a1, uint a2);
00816 
00817             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00818             public extern static uint Z3_model_get_num_funcs(Z3_context a0, Z3_model a1);
00819 
00820             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00821             public extern static Z3_func_decl Z3_model_get_func_decl(Z3_context a0, Z3_model a1, uint a2);
00822 
00823             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00824             public extern static uint Z3_model_get_num_sorts(Z3_context a0, Z3_model a1);
00825 
00826             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00827             public extern static Z3_sort Z3_model_get_sort(Z3_context a0, Z3_model a1, uint a2);
00828 
00829             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00830             public extern static Z3_ast_vector Z3_model_get_sort_universe(Z3_context a0, Z3_model a1, Z3_sort a2);
00831 
00832             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00833             public extern static int Z3_is_as_array(Z3_context a0, Z3_ast a1);
00834 
00835             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00836             public extern static Z3_func_decl Z3_get_as_array_func_decl(Z3_context a0, Z3_ast a1);
00837 
00838             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00839             public extern static void Z3_func_interp_inc_ref(Z3_context a0, Z3_func_interp a1);
00840 
00841             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00842             public extern static void Z3_func_interp_dec_ref(Z3_context a0, Z3_func_interp a1);
00843 
00844             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00845             public extern static uint Z3_func_interp_get_num_entries(Z3_context a0, Z3_func_interp a1);
00846 
00847             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00848             public extern static Z3_func_entry Z3_func_interp_get_entry(Z3_context a0, Z3_func_interp a1, uint a2);
00849 
00850             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00851             public extern static Z3_ast Z3_func_interp_get_else(Z3_context a0, Z3_func_interp a1);
00852 
00853             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00854             public extern static uint Z3_func_interp_get_arity(Z3_context a0, Z3_func_interp a1);
00855 
00856             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00857             public extern static void Z3_func_entry_inc_ref(Z3_context a0, Z3_func_entry a1);
00858 
00859             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00860             public extern static void Z3_func_entry_dec_ref(Z3_context a0, Z3_func_entry a1);
00861 
00862             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00863             public extern static Z3_ast Z3_func_entry_get_value(Z3_context a0, Z3_func_entry a1);
00864 
00865             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00866             public extern static uint Z3_func_entry_get_num_args(Z3_context a0, Z3_func_entry a1);
00867 
00868             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00869             public extern static Z3_ast Z3_func_entry_get_arg(Z3_context a0, Z3_func_entry a1, uint a2);
00870 
00871             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00872             public extern static int Z3_open_log(string a0);
00873 
00874             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00875             public extern static void Z3_append_log(string a0);
00876 
00877             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00878             public extern static void Z3_close_log();
00879 
00880             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00881             public extern static void Z3_toggle_warning_messages(int a0);
00882 
00883             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00884             public extern static void Z3_set_ast_print_mode(Z3_context a0, uint a1);
00885 
00886             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00887             public extern static IntPtr Z3_ast_to_string(Z3_context a0, Z3_ast a1);
00888 
00889             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00890             public extern static IntPtr Z3_pattern_to_string(Z3_context a0, Z3_pattern a1);
00891 
00892             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00893             public extern static IntPtr Z3_sort_to_string(Z3_context a0, Z3_sort a1);
00894 
00895             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00896             public extern static IntPtr Z3_func_decl_to_string(Z3_context a0, Z3_func_decl a1);
00897 
00898             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00899             public extern static IntPtr Z3_model_to_string(Z3_context a0, Z3_model a1);
00900 
00901             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00902             public extern static IntPtr Z3_benchmark_to_smtlib_string(Z3_context a0, string a1, string a2, string a3, string a4, uint a5, [In] Z3_ast[] a6, Z3_ast a7);
00903 
00904             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00905             public extern static Z3_ast Z3_parse_smtlib2_string(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7);
00906 
00907             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00908             public extern static Z3_ast Z3_parse_smtlib2_file(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7);
00909 
00910             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00911             public extern static void Z3_parse_smtlib_string(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7);
00912 
00913             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00914             public extern static void Z3_parse_smtlib_file(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7);
00915 
00916             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00917             public extern static uint Z3_get_smtlib_num_formulas(Z3_context a0);
00918 
00919             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00920             public extern static Z3_ast Z3_get_smtlib_formula(Z3_context a0, uint a1);
00921 
00922             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00923             public extern static uint Z3_get_smtlib_num_assumptions(Z3_context a0);
00924 
00925             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00926             public extern static Z3_ast Z3_get_smtlib_assumption(Z3_context a0, uint a1);
00927 
00928             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00929             public extern static uint Z3_get_smtlib_num_decls(Z3_context a0);
00930 
00931             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00932             public extern static Z3_func_decl Z3_get_smtlib_decl(Z3_context a0, uint a1);
00933 
00934             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00935             public extern static uint Z3_get_smtlib_num_sorts(Z3_context a0);
00936 
00937             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00938             public extern static Z3_sort Z3_get_smtlib_sort(Z3_context a0, uint a1);
00939 
00940             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00941             public extern static IntPtr Z3_get_smtlib_error(Z3_context a0);
00942 
00943             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00944             public extern static uint Z3_get_error_code(Z3_context a0);
00945 
00946             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00947             public extern static void Z3_set_error(Z3_context a0, uint a1);
00948 
00949             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00950             public extern static IntPtr Z3_get_error_msg(uint a0);
00951 
00952             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00953             public extern static IntPtr Z3_get_error_msg_ex(Z3_context a0, uint a1);
00954 
00955             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00956             public extern static void Z3_get_version([In, Out] ref uint a0, [In, Out] ref uint a1, [In, Out] ref uint a2, [In, Out] ref uint a3);
00957 
00958             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00959             public extern static void Z3_enable_trace(string a0);
00960 
00961             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00962             public extern static void Z3_disable_trace(string a0);
00963 
00964             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00965             public extern static void Z3_reset_memory();
00966 
00967             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00968             public extern static Z3_fixedpoint Z3_mk_fixedpoint(Z3_context a0);
00969 
00970             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00971             public extern static void Z3_fixedpoint_inc_ref(Z3_context a0, Z3_fixedpoint a1);
00972 
00973             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00974             public extern static void Z3_fixedpoint_dec_ref(Z3_context a0, Z3_fixedpoint a1);
00975 
00976             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00977             public extern static void Z3_fixedpoint_add_rule(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2, IntPtr a3);
00978 
00979             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00980             public extern static void Z3_fixedpoint_add_fact(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2, uint a3, [In] uint[] a4);
00981 
00982             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00983             public extern static void Z3_fixedpoint_assert(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2);
00984 
00985             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00986             public extern static int Z3_fixedpoint_query(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2);
00987 
00988             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00989             public extern static int Z3_fixedpoint_query_relations(Z3_context a0, Z3_fixedpoint a1, uint a2, [In] Z3_func_decl[] a3);
00990 
00991             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00992             public extern static Z3_ast Z3_fixedpoint_get_answer(Z3_context a0, Z3_fixedpoint a1);
00993 
00994             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00995             public extern static IntPtr Z3_fixedpoint_get_reason_unknown(Z3_context a0, Z3_fixedpoint a1);
00996 
00997             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
00998             public extern static void Z3_fixedpoint_update_rule(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2, IntPtr a3);
00999 
01000             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01001             public extern static uint Z3_fixedpoint_get_num_levels(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2);
01002 
01003             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01004             public extern static Z3_ast Z3_fixedpoint_get_cover_delta(Z3_context a0, Z3_fixedpoint a1, int a2, Z3_func_decl a3);
01005 
01006             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01007             public extern static void Z3_fixedpoint_add_cover(Z3_context a0, Z3_fixedpoint a1, int a2, Z3_func_decl a3, Z3_ast a4);
01008 
01009             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01010             public extern static Z3_stats Z3_fixedpoint_get_statistics(Z3_context a0, Z3_fixedpoint a1);
01011 
01012             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01013             public extern static void Z3_fixedpoint_register_relation(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2);
01014 
01015             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01016             public extern static void Z3_fixedpoint_set_predicate_representation(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2, uint a3, [In] IntPtr[] a4);
01017 
01018             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01019             public extern static Z3_ast_vector Z3_fixedpoint_get_rules(Z3_context a0, Z3_fixedpoint a1);
01020 
01021             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01022             public extern static Z3_ast_vector Z3_fixedpoint_get_assertions(Z3_context a0, Z3_fixedpoint a1);
01023 
01024             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01025             public extern static void Z3_fixedpoint_set_params(Z3_context a0, Z3_fixedpoint a1, Z3_params a2);
01026 
01027             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01028             public extern static IntPtr Z3_fixedpoint_get_help(Z3_context a0, Z3_fixedpoint a1);
01029 
01030             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01031             public extern static Z3_param_descrs Z3_fixedpoint_get_param_descrs(Z3_context a0, Z3_fixedpoint a1);
01032 
01033             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01034             public extern static IntPtr Z3_fixedpoint_to_string(Z3_context a0, Z3_fixedpoint a1, uint a2, [In] Z3_ast[] a3);
01035 
01036             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01037             public extern static Z3_ast_vector Z3_fixedpoint_from_string(Z3_context a0, Z3_fixedpoint a1, string a2);
01038 
01039             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01040             public extern static Z3_ast_vector Z3_fixedpoint_from_file(Z3_context a0, Z3_fixedpoint a1, string a2);
01041 
01042             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01043             public extern static void Z3_fixedpoint_push(Z3_context a0, Z3_fixedpoint a1);
01044 
01045             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01046             public extern static void Z3_fixedpoint_pop(Z3_context a0, Z3_fixedpoint a1);
01047 
01048             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01049             public extern static Z3_ast_vector Z3_mk_ast_vector(Z3_context a0);
01050 
01051             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01052             public extern static void Z3_ast_vector_inc_ref(Z3_context a0, Z3_ast_vector a1);
01053 
01054             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01055             public extern static void Z3_ast_vector_dec_ref(Z3_context a0, Z3_ast_vector a1);
01056 
01057             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01058             public extern static uint Z3_ast_vector_size(Z3_context a0, Z3_ast_vector a1);
01059 
01060             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01061             public extern static Z3_ast Z3_ast_vector_get(Z3_context a0, Z3_ast_vector a1, uint a2);
01062 
01063             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01064             public extern static void Z3_ast_vector_set(Z3_context a0, Z3_ast_vector a1, uint a2, Z3_ast a3);
01065 
01066             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01067             public extern static void Z3_ast_vector_resize(Z3_context a0, Z3_ast_vector a1, uint a2);
01068 
01069             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01070             public extern static void Z3_ast_vector_push(Z3_context a0, Z3_ast_vector a1, Z3_ast a2);
01071 
01072             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01073             public extern static Z3_ast_vector Z3_ast_vector_translate(Z3_context a0, Z3_ast_vector a1, Z3_context a2);
01074 
01075             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01076             public extern static IntPtr Z3_ast_vector_to_string(Z3_context a0, Z3_ast_vector a1);
01077 
01078             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01079             public extern static Z3_ast_map Z3_mk_ast_map(Z3_context a0);
01080 
01081             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01082             public extern static void Z3_ast_map_inc_ref(Z3_context a0, Z3_ast_map a1);
01083 
01084             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01085             public extern static void Z3_ast_map_dec_ref(Z3_context a0, Z3_ast_map a1);
01086 
01087             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01088             public extern static int Z3_ast_map_contains(Z3_context a0, Z3_ast_map a1, Z3_ast a2);
01089 
01090             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01091             public extern static Z3_ast Z3_ast_map_find(Z3_context a0, Z3_ast_map a1, Z3_ast a2);
01092 
01093             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01094             public extern static void Z3_ast_map_insert(Z3_context a0, Z3_ast_map a1, Z3_ast a2, Z3_ast a3);
01095 
01096             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01097             public extern static void Z3_ast_map_erase(Z3_context a0, Z3_ast_map a1, Z3_ast a2);
01098 
01099             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01100             public extern static void Z3_ast_map_reset(Z3_context a0, Z3_ast_map a1);
01101 
01102             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01103             public extern static uint Z3_ast_map_size(Z3_context a0, Z3_ast_map a1);
01104 
01105             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01106             public extern static Z3_ast_vector Z3_ast_map_keys(Z3_context a0, Z3_ast_map a1);
01107 
01108             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01109             public extern static IntPtr Z3_ast_map_to_string(Z3_context a0, Z3_ast_map a1);
01110 
01111             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01112             public extern static Z3_goal Z3_mk_goal(Z3_context a0, int a1, int a2, int a3);
01113 
01114             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01115             public extern static void Z3_goal_inc_ref(Z3_context a0, Z3_goal a1);
01116 
01117             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01118             public extern static void Z3_goal_dec_ref(Z3_context a0, Z3_goal a1);
01119 
01120             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01121             public extern static uint Z3_goal_precision(Z3_context a0, Z3_goal a1);
01122 
01123             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01124             public extern static void Z3_goal_assert(Z3_context a0, Z3_goal a1, Z3_ast a2);
01125 
01126             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01127             public extern static int Z3_goal_inconsistent(Z3_context a0, Z3_goal a1);
01128 
01129             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01130             public extern static uint Z3_goal_depth(Z3_context a0, Z3_goal a1);
01131 
01132             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01133             public extern static void Z3_goal_reset(Z3_context a0, Z3_goal a1);
01134 
01135             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01136             public extern static uint Z3_goal_size(Z3_context a0, Z3_goal a1);
01137 
01138             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01139             public extern static Z3_ast Z3_goal_formula(Z3_context a0, Z3_goal a1, uint a2);
01140 
01141             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01142             public extern static uint Z3_goal_num_exprs(Z3_context a0, Z3_goal a1);
01143 
01144             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01145             public extern static int Z3_goal_is_decided_sat(Z3_context a0, Z3_goal a1);
01146 
01147             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01148             public extern static int Z3_goal_is_decided_unsat(Z3_context a0, Z3_goal a1);
01149 
01150             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01151             public extern static Z3_goal Z3_goal_translate(Z3_context a0, Z3_goal a1, Z3_context a2);
01152 
01153             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01154             public extern static IntPtr Z3_goal_to_string(Z3_context a0, Z3_goal a1);
01155 
01156             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01157             public extern static Z3_tactic Z3_mk_tactic(Z3_context a0, string a1);
01158 
01159             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01160             public extern static void Z3_tactic_inc_ref(Z3_context a0, Z3_tactic a1);
01161 
01162             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01163             public extern static void Z3_tactic_dec_ref(Z3_context a0, Z3_tactic a1);
01164 
01165             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01166             public extern static Z3_probe Z3_mk_probe(Z3_context a0, string a1);
01167 
01168             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01169             public extern static void Z3_probe_inc_ref(Z3_context a0, Z3_probe a1);
01170 
01171             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01172             public extern static void Z3_probe_dec_ref(Z3_context a0, Z3_probe a1);
01173 
01174             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01175             public extern static Z3_tactic Z3_tactic_and_then(Z3_context a0, Z3_tactic a1, Z3_tactic a2);
01176 
01177             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01178             public extern static Z3_tactic Z3_tactic_or_else(Z3_context a0, Z3_tactic a1, Z3_tactic a2);
01179 
01180             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01181             public extern static Z3_tactic Z3_tactic_par_or(Z3_context a0, uint a1, [In] Z3_tactic[] a2);
01182 
01183             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01184             public extern static Z3_tactic Z3_tactic_par_and_then(Z3_context a0, Z3_tactic a1, Z3_tactic a2);
01185 
01186             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01187             public extern static Z3_tactic Z3_tactic_try_for(Z3_context a0, Z3_tactic a1, uint a2);
01188 
01189             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01190             public extern static Z3_tactic Z3_tactic_when(Z3_context a0, Z3_probe a1, Z3_tactic a2);
01191 
01192             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01193             public extern static Z3_tactic Z3_tactic_cond(Z3_context a0, Z3_probe a1, Z3_tactic a2, Z3_tactic a3);
01194 
01195             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01196             public extern static Z3_tactic Z3_tactic_repeat(Z3_context a0, Z3_tactic a1, uint a2);
01197 
01198             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01199             public extern static Z3_tactic Z3_tactic_skip(Z3_context a0);
01200 
01201             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01202             public extern static Z3_tactic Z3_tactic_fail(Z3_context a0);
01203 
01204             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01205             public extern static Z3_tactic Z3_tactic_fail_if(Z3_context a0, Z3_probe a1);
01206 
01207             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01208             public extern static Z3_tactic Z3_tactic_fail_if_not_decided(Z3_context a0);
01209 
01210             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01211             public extern static Z3_tactic Z3_tactic_using_params(Z3_context a0, Z3_tactic a1, Z3_params a2);
01212 
01213             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01214             public extern static Z3_probe Z3_probe_const(Z3_context a0, double a1);
01215 
01216             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01217             public extern static Z3_probe Z3_probe_lt(Z3_context a0, Z3_probe a1, Z3_probe a2);
01218 
01219             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01220             public extern static Z3_probe Z3_probe_gt(Z3_context a0, Z3_probe a1, Z3_probe a2);
01221 
01222             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01223             public extern static Z3_probe Z3_probe_le(Z3_context a0, Z3_probe a1, Z3_probe a2);
01224 
01225             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01226             public extern static Z3_probe Z3_probe_ge(Z3_context a0, Z3_probe a1, Z3_probe a2);
01227 
01228             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01229             public extern static Z3_probe Z3_probe_eq(Z3_context a0, Z3_probe a1, Z3_probe a2);
01230 
01231             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01232             public extern static Z3_probe Z3_probe_and(Z3_context a0, Z3_probe a1, Z3_probe a2);
01233 
01234             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01235             public extern static Z3_probe Z3_probe_or(Z3_context a0, Z3_probe a1, Z3_probe a2);
01236 
01237             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01238             public extern static Z3_probe Z3_probe_not(Z3_context a0, Z3_probe a1);
01239 
01240             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01241             public extern static uint Z3_get_num_tactics(Z3_context a0);
01242 
01243             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01244             public extern static IntPtr Z3_get_tactic_name(Z3_context a0, uint a1);
01245 
01246             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01247             public extern static uint Z3_get_num_probes(Z3_context a0);
01248 
01249             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01250             public extern static IntPtr Z3_get_probe_name(Z3_context a0, uint a1);
01251 
01252             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01253             public extern static IntPtr Z3_tactic_get_help(Z3_context a0, Z3_tactic a1);
01254 
01255             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01256             public extern static Z3_param_descrs Z3_tactic_get_param_descrs(Z3_context a0, Z3_tactic a1);
01257 
01258             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01259             public extern static IntPtr Z3_tactic_get_descr(Z3_context a0, string a1);
01260 
01261             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01262             public extern static IntPtr Z3_probe_get_descr(Z3_context a0, string a1);
01263 
01264             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01265             public extern static double Z3_probe_apply(Z3_context a0, Z3_probe a1, Z3_goal a2);
01266 
01267             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01268             public extern static Z3_apply_result Z3_tactic_apply(Z3_context a0, Z3_tactic a1, Z3_goal a2);
01269 
01270             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01271             public extern static Z3_apply_result Z3_tactic_apply_ex(Z3_context a0, Z3_tactic a1, Z3_goal a2, Z3_params a3);
01272 
01273             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01274             public extern static void Z3_apply_result_inc_ref(Z3_context a0, Z3_apply_result a1);
01275 
01276             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01277             public extern static void Z3_apply_result_dec_ref(Z3_context a0, Z3_apply_result a1);
01278 
01279             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01280             public extern static IntPtr Z3_apply_result_to_string(Z3_context a0, Z3_apply_result a1);
01281 
01282             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01283             public extern static uint Z3_apply_result_get_num_subgoals(Z3_context a0, Z3_apply_result a1);
01284 
01285             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01286             public extern static Z3_goal Z3_apply_result_get_subgoal(Z3_context a0, Z3_apply_result a1, uint a2);
01287 
01288             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01289             public extern static Z3_model Z3_apply_result_convert_model(Z3_context a0, Z3_apply_result a1, uint a2, Z3_model a3);
01290 
01291             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01292             public extern static Z3_solver Z3_mk_solver(Z3_context a0);
01293 
01294             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01295             public extern static Z3_solver Z3_mk_simple_solver(Z3_context a0);
01296 
01297             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01298             public extern static Z3_solver Z3_mk_solver_for_logic(Z3_context a0, IntPtr a1);
01299 
01300             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01301             public extern static Z3_solver Z3_mk_solver_from_tactic(Z3_context a0, Z3_tactic a1);
01302 
01303             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01304             public extern static IntPtr Z3_solver_get_help(Z3_context a0, Z3_solver a1);
01305 
01306             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01307             public extern static Z3_param_descrs Z3_solver_get_param_descrs(Z3_context a0, Z3_solver a1);
01308 
01309             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01310             public extern static void Z3_solver_set_params(Z3_context a0, Z3_solver a1, Z3_params a2);
01311 
01312             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01313             public extern static void Z3_solver_inc_ref(Z3_context a0, Z3_solver a1);
01314 
01315             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01316             public extern static void Z3_solver_dec_ref(Z3_context a0, Z3_solver a1);
01317 
01318             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01319             public extern static void Z3_solver_push(Z3_context a0, Z3_solver a1);
01320 
01321             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01322             public extern static void Z3_solver_pop(Z3_context a0, Z3_solver a1, uint a2);
01323 
01324             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01325             public extern static void Z3_solver_reset(Z3_context a0, Z3_solver a1);
01326 
01327             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01328             public extern static uint Z3_solver_get_num_scopes(Z3_context a0, Z3_solver a1);
01329 
01330             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01331             public extern static void Z3_solver_assert(Z3_context a0, Z3_solver a1, Z3_ast a2);
01332 
01333             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01334             public extern static void Z3_solver_assert_and_track(Z3_context a0, Z3_solver a1, Z3_ast a2, Z3_ast a3);
01335 
01336             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01337             public extern static Z3_ast_vector Z3_solver_get_assertions(Z3_context a0, Z3_solver a1);
01338 
01339             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01340             public extern static int Z3_solver_check(Z3_context a0, Z3_solver a1);
01341 
01342             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01343             public extern static int Z3_solver_check_assumptions(Z3_context a0, Z3_solver a1, uint a2, [In] Z3_ast[] a3);
01344 
01345             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01346             public extern static Z3_model Z3_solver_get_model(Z3_context a0, Z3_solver a1);
01347 
01348             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01349             public extern static Z3_ast Z3_solver_get_proof(Z3_context a0, Z3_solver a1);
01350 
01351             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01352             public extern static Z3_ast_vector Z3_solver_get_unsat_core(Z3_context a0, Z3_solver a1);
01353 
01354             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01355             public extern static IntPtr Z3_solver_get_reason_unknown(Z3_context a0, Z3_solver a1);
01356 
01357             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01358             public extern static Z3_stats Z3_solver_get_statistics(Z3_context a0, Z3_solver a1);
01359 
01360             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01361             public extern static IntPtr Z3_solver_to_string(Z3_context a0, Z3_solver a1);
01362 
01363             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01364             public extern static IntPtr Z3_stats_to_string(Z3_context a0, Z3_stats a1);
01365 
01366             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01367             public extern static void Z3_stats_inc_ref(Z3_context a0, Z3_stats a1);
01368 
01369             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01370             public extern static void Z3_stats_dec_ref(Z3_context a0, Z3_stats a1);
01371 
01372             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01373             public extern static uint Z3_stats_size(Z3_context a0, Z3_stats a1);
01374 
01375             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01376             public extern static IntPtr Z3_stats_get_key(Z3_context a0, Z3_stats a1, uint a2);
01377 
01378             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01379             public extern static int Z3_stats_is_uint(Z3_context a0, Z3_stats a1, uint a2);
01380 
01381             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01382             public extern static int Z3_stats_is_double(Z3_context a0, Z3_stats a1, uint a2);
01383 
01384             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01385             public extern static uint Z3_stats_get_uint_value(Z3_context a0, Z3_stats a1, uint a2);
01386 
01387             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01388             public extern static double Z3_stats_get_double_value(Z3_context a0, Z3_stats a1, uint a2);
01389 
01390             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01391             public extern static Z3_func_decl Z3_mk_injective_function(Z3_context a0, IntPtr a1, uint a2, [In] Z3_sort[] a3, Z3_sort a4);
01392 
01393             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01394             public extern static void Z3_set_logic(Z3_context a0, string a1);
01395 
01396             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01397             public extern static void Z3_push(Z3_context a0);
01398 
01399             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01400             public extern static void Z3_pop(Z3_context a0, uint a1);
01401 
01402             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01403             public extern static uint Z3_get_num_scopes(Z3_context a0);
01404 
01405             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01406             public extern static void Z3_persist_ast(Z3_context a0, Z3_ast a1, uint a2);
01407 
01408             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01409             public extern static void Z3_assert_cnstr(Z3_context a0, Z3_ast a1);
01410 
01411             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01412             public extern static int Z3_check_and_get_model(Z3_context a0, [In, Out] ref Z3_model a1);
01413 
01414             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01415             public extern static int Z3_check(Z3_context a0);
01416 
01417             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01418             public extern static int Z3_check_assumptions(Z3_context a0, uint a1, [In] Z3_ast[] a2, [In, Out] ref Z3_model a3, [In, Out] ref Z3_ast a4, [In, Out] ref uint a5, [Out] Z3_ast[] a6);
01419 
01420             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01421             public extern static uint Z3_get_implied_equalities(Z3_context a0, Z3_solver a1, uint a2, [In] Z3_ast[] a3, [Out] uint[] a4);
01422 
01423             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01424             public extern static void Z3_del_model(Z3_context a0, Z3_model a1);
01425 
01426             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01427             public extern static void Z3_soft_check_cancel(Z3_context a0);
01428 
01429             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01430             public extern static uint Z3_get_search_failure(Z3_context a0);
01431 
01432             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01433             public extern static Z3_ast Z3_mk_label(Z3_context a0, IntPtr a1, int a2, Z3_ast a3);
01434 
01435             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01436             public extern static Z3_literals Z3_get_relevant_labels(Z3_context a0);
01437 
01438             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01439             public extern static Z3_literals Z3_get_relevant_literals(Z3_context a0);
01440 
01441             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01442             public extern static Z3_literals Z3_get_guessed_literals(Z3_context a0);
01443 
01444             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01445             public extern static void Z3_del_literals(Z3_context a0, Z3_literals a1);
01446 
01447             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01448             public extern static uint Z3_get_num_literals(Z3_context a0, Z3_literals a1);
01449 
01450             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01451             public extern static IntPtr Z3_get_label_symbol(Z3_context a0, Z3_literals a1, uint a2);
01452 
01453             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01454             public extern static Z3_ast Z3_get_literal(Z3_context a0, Z3_literals a1, uint a2);
01455 
01456             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01457             public extern static void Z3_disable_literal(Z3_context a0, Z3_literals a1, uint a2);
01458 
01459             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01460             public extern static void Z3_block_literals(Z3_context a0, Z3_literals a1);
01461 
01462             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01463             public extern static uint Z3_get_model_num_constants(Z3_context a0, Z3_model a1);
01464 
01465             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01466             public extern static Z3_func_decl Z3_get_model_constant(Z3_context a0, Z3_model a1, uint a2);
01467 
01468             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01469             public extern static uint Z3_get_model_num_funcs(Z3_context a0, Z3_model a1);
01470 
01471             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01472             public extern static Z3_func_decl Z3_get_model_func_decl(Z3_context a0, Z3_model a1, uint a2);
01473 
01474             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01475             public extern static int Z3_eval_func_decl(Z3_context a0, Z3_model a1, Z3_func_decl a2, [In, Out] ref Z3_ast a3);
01476 
01477             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01478             public extern static int Z3_is_array_value(Z3_context a0, Z3_model a1, Z3_ast a2, [In, Out] ref uint a3);
01479 
01480             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01481             public extern static void Z3_get_array_value(Z3_context a0, Z3_model a1, Z3_ast a2, uint a3, [Out] Z3_ast[] a4, [Out] Z3_ast[] a5, [In, Out] ref Z3_ast a6);
01482 
01483             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01484             public extern static Z3_ast Z3_get_model_func_else(Z3_context a0, Z3_model a1, uint a2);
01485 
01486             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01487             public extern static uint Z3_get_model_func_num_entries(Z3_context a0, Z3_model a1, uint a2);
01488 
01489             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01490             public extern static uint Z3_get_model_func_entry_num_args(Z3_context a0, Z3_model a1, uint a2, uint a3);
01491 
01492             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01493             public extern static Z3_ast Z3_get_model_func_entry_arg(Z3_context a0, Z3_model a1, uint a2, uint a3, uint a4);
01494 
01495             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01496             public extern static Z3_ast Z3_get_model_func_entry_value(Z3_context a0, Z3_model a1, uint a2, uint a3);
01497 
01498             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01499             public extern static int Z3_eval(Z3_context a0, Z3_model a1, Z3_ast a2, [In, Out] ref Z3_ast a3);
01500 
01501             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01502             public extern static int Z3_eval_decl(Z3_context a0, Z3_model a1, Z3_func_decl a2, uint a3, [In] Z3_ast[] a4, [In, Out] ref Z3_ast a5);
01503 
01504             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01505             public extern static IntPtr Z3_context_to_string(Z3_context a0);
01506 
01507             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01508             public extern static IntPtr Z3_statistics_to_string(Z3_context a0);
01509 
01510             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01511             public extern static Z3_ast Z3_get_context_assignment(Z3_context a0);
01512 
01513             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01514             public extern static int Z3_algebraic_is_value(Z3_context a0, Z3_ast a1);
01515 
01516             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01517             public extern static int Z3_algebraic_is_pos(Z3_context a0, Z3_ast a1);
01518 
01519             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01520             public extern static int Z3_algebraic_is_neg(Z3_context a0, Z3_ast a1);
01521 
01522             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01523             public extern static int Z3_algebraic_is_zero(Z3_context a0, Z3_ast a1);
01524 
01525             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01526             public extern static int Z3_algebraic_sign(Z3_context a0, Z3_ast a1);
01527 
01528             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01529             public extern static Z3_ast Z3_algebraic_add(Z3_context a0, Z3_ast a1, Z3_ast a2);
01530 
01531             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01532             public extern static Z3_ast Z3_algebraic_sub(Z3_context a0, Z3_ast a1, Z3_ast a2);
01533 
01534             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01535             public extern static Z3_ast Z3_algebraic_mul(Z3_context a0, Z3_ast a1, Z3_ast a2);
01536 
01537             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01538             public extern static Z3_ast Z3_algebraic_div(Z3_context a0, Z3_ast a1, Z3_ast a2);
01539 
01540             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01541             public extern static Z3_ast Z3_algebraic_root(Z3_context a0, Z3_ast a1, uint a2);
01542 
01543             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01544             public extern static Z3_ast Z3_algebraic_power(Z3_context a0, Z3_ast a1, uint a2);
01545 
01546             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01547             public extern static int Z3_algebraic_lt(Z3_context a0, Z3_ast a1, Z3_ast a2);
01548 
01549             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01550             public extern static int Z3_algebraic_gt(Z3_context a0, Z3_ast a1, Z3_ast a2);
01551 
01552             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01553             public extern static int Z3_algebraic_le(Z3_context a0, Z3_ast a1, Z3_ast a2);
01554 
01555             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01556             public extern static int Z3_algebraic_ge(Z3_context a0, Z3_ast a1, Z3_ast a2);
01557 
01558             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01559             public extern static int Z3_algebraic_eq(Z3_context a0, Z3_ast a1, Z3_ast a2);
01560 
01561             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01562             public extern static int Z3_algebraic_neq(Z3_context a0, Z3_ast a1, Z3_ast a2);
01563 
01564             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01565             public extern static Z3_ast_vector Z3_algebraic_roots(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3);
01566 
01567             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01568             public extern static int Z3_algebraic_eval(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3);
01569 
01570             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01571             public extern static Z3_ast_vector Z3_polynomial_subresultants(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_ast a3);
01572 
01573             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01574             public extern static void Z3_rcf_del(Z3_context a0, Z3_rcf_num a1);
01575 
01576             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01577             public extern static Z3_rcf_num Z3_rcf_mk_rational(Z3_context a0, string a1);
01578 
01579             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01580             public extern static Z3_rcf_num Z3_rcf_mk_small_int(Z3_context a0, int a1);
01581 
01582             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01583             public extern static Z3_rcf_num Z3_rcf_mk_pi(Z3_context a0);
01584 
01585             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01586             public extern static Z3_rcf_num Z3_rcf_mk_e(Z3_context a0);
01587 
01588             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01589             public extern static Z3_rcf_num Z3_rcf_mk_infinitesimal(Z3_context a0);
01590 
01591             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01592             public extern static uint Z3_rcf_mk_roots(Z3_context a0, uint a1, [In] Z3_rcf_num[] a2, [Out] Z3_rcf_num[] a3);
01593 
01594             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01595             public extern static Z3_rcf_num Z3_rcf_add(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01596 
01597             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01598             public extern static Z3_rcf_num Z3_rcf_sub(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01599 
01600             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01601             public extern static Z3_rcf_num Z3_rcf_mul(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01602 
01603             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01604             public extern static Z3_rcf_num Z3_rcf_div(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01605 
01606             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01607             public extern static Z3_rcf_num Z3_rcf_neg(Z3_context a0, Z3_rcf_num a1);
01608 
01609             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01610             public extern static Z3_rcf_num Z3_rcf_inv(Z3_context a0, Z3_rcf_num a1);
01611 
01612             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01613             public extern static Z3_rcf_num Z3_rcf_power(Z3_context a0, Z3_rcf_num a1, uint a2);
01614 
01615             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01616             public extern static int Z3_rcf_lt(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01617 
01618             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01619             public extern static int Z3_rcf_gt(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01620 
01621             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01622             public extern static int Z3_rcf_le(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01623 
01624             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01625             public extern static int Z3_rcf_ge(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01626 
01627             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01628             public extern static int Z3_rcf_eq(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01629 
01630             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01631             public extern static int Z3_rcf_neq(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2);
01632 
01633             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01634             public extern static IntPtr Z3_rcf_num_to_string(Z3_context a0, Z3_rcf_num a1, int a2, int a3);
01635 
01636             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01637             public extern static IntPtr Z3_rcf_num_to_decimal_string(Z3_context a0, Z3_rcf_num a1, uint a2);
01638 
01639             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01640             public extern static void Z3_rcf_get_numerator_denominator(Z3_context a0, Z3_rcf_num a1, [In, Out] ref Z3_rcf_num a2, [In, Out] ref Z3_rcf_num a3);
01641 
01642             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01643             public extern static Z3_ast Z3_mk_interpolant(Z3_context a0, Z3_ast a1);
01644 
01645             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01646             public extern static Z3_context Z3_mk_interpolation_context(Z3_config a0);
01647 
01648             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01649             public extern static Z3_ast_vector Z3_get_interpolant(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_params a3);
01650 
01651             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01652             public extern static int Z3_compute_interpolant(Z3_context a0, Z3_ast a1, Z3_params a2, [In, Out] ref Z3_ast_vector a3, [In, Out] ref Z3_model a4);
01653 
01654             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01655             public extern static IntPtr Z3_interpolation_profile(Z3_context a0);
01656 
01657             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01658             public extern static int Z3_read_interpolation_problem(Z3_context a0, [In, Out] ref uint a1, [Out] out Z3_ast[] a2, [Out] out uint[] a3, string a4, out IntPtr a5, [In, Out] ref uint a6, [Out] out Z3_ast[] a7);
01659 
01660             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01661             public extern static int Z3_check_interpolant(Z3_context a0, uint a1, [In] Z3_ast[] a2, [In] uint[] a3, [In] Z3_ast[] a4, out IntPtr a5, uint a6, [In] Z3_ast[] a7);
01662 
01663             [DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
01664             public extern static void Z3_write_interpolation_problem(Z3_context a0, uint a1, [In] Z3_ast[] a2, [In] uint[] a3, string a4, uint a5, [In] Z3_ast[] a6);
01665 
01666         }
01667 
01668         public static void Z3_set_error_handler(Z3_context a0, Z3_error_handler a1) {
01669             LIB.Z3_set_error_handler(a0, a1);
01670             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01671             if (err != Z3_error_code.Z3_OK)
01672                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01673         }
01674 
01675         public static void Z3_global_param_set(string a0, string a1) {
01676             LIB.Z3_global_param_set(a0, a1);
01677         }
01678 
01679         public static void Z3_global_param_reset_all() {
01680             LIB.Z3_global_param_reset_all();
01681         }
01682 
01683         public static int Z3_global_param_get(string a0, out IntPtr a1) {
01684             int r = LIB.Z3_global_param_get(a0, out a1);
01685             return r;
01686         }
01687 
01688         public static Z3_config Z3_mk_config() {
01689             Z3_config r = LIB.Z3_mk_config();
01690             return r;
01691         }
01692 
01693         public static void Z3_del_config(Z3_config a0) {
01694             LIB.Z3_del_config(a0);
01695         }
01696 
01697         public static void Z3_set_param_value(Z3_config a0, string a1, string a2) {
01698             LIB.Z3_set_param_value(a0, a1, a2);
01699         }
01700 
01701         public static Z3_context Z3_mk_context(Z3_config a0) {
01702             Z3_context r = LIB.Z3_mk_context(a0);
01703             if (r == IntPtr.Zero)
01704                 throw new Z3Exception("Object allocation failed.");
01705             return r;
01706         }
01707 
01708         public static Z3_context Z3_mk_context_rc(Z3_config a0) {
01709             Z3_context r = LIB.Z3_mk_context_rc(a0);
01710             if (r == IntPtr.Zero)
01711                 throw new Z3Exception("Object allocation failed.");
01712             return r;
01713         }
01714 
01715         public static void Z3_del_context(Z3_context a0) {
01716             LIB.Z3_del_context(a0);
01717         }
01718 
01719         public static void Z3_inc_ref(Z3_context a0, Z3_ast a1) {
01720             LIB.Z3_inc_ref(a0, a1);
01721             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01722             if (err != Z3_error_code.Z3_OK)
01723                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01724         }
01725 
01726         public static void Z3_dec_ref(Z3_context a0, Z3_ast a1) {
01727             LIB.Z3_dec_ref(a0, a1);
01728             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01729             if (err != Z3_error_code.Z3_OK)
01730                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01731         }
01732 
01733         public static void Z3_update_param_value(Z3_context a0, string a1, string a2) {
01734             LIB.Z3_update_param_value(a0, a1, a2);
01735             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01736             if (err != Z3_error_code.Z3_OK)
01737                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01738         }
01739 
01740         public static void Z3_interrupt(Z3_context a0) {
01741             LIB.Z3_interrupt(a0);
01742             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01743             if (err != Z3_error_code.Z3_OK)
01744                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01745         }
01746 
01747         public static Z3_params Z3_mk_params(Z3_context a0) {
01748             Z3_params r = LIB.Z3_mk_params(a0);
01749             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01750             if (err != Z3_error_code.Z3_OK)
01751                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01752             return r;
01753         }
01754 
01755         public static void Z3_params_inc_ref(Z3_context a0, Z3_params a1) {
01756             LIB.Z3_params_inc_ref(a0, a1);
01757             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01758             if (err != Z3_error_code.Z3_OK)
01759                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01760         }
01761 
01762         public static void Z3_params_dec_ref(Z3_context a0, Z3_params a1) {
01763             LIB.Z3_params_dec_ref(a0, a1);
01764             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01765             if (err != Z3_error_code.Z3_OK)
01766                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01767         }
01768 
01769         public static void Z3_params_set_bool(Z3_context a0, Z3_params a1, IntPtr a2, int a3) {
01770             LIB.Z3_params_set_bool(a0, a1, a2, a3);
01771             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01772             if (err != Z3_error_code.Z3_OK)
01773                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01774         }
01775 
01776         public static void Z3_params_set_uint(Z3_context a0, Z3_params a1, IntPtr a2, uint a3) {
01777             LIB.Z3_params_set_uint(a0, a1, a2, a3);
01778             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01779             if (err != Z3_error_code.Z3_OK)
01780                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01781         }
01782 
01783         public static void Z3_params_set_double(Z3_context a0, Z3_params a1, IntPtr a2, double a3) {
01784             LIB.Z3_params_set_double(a0, a1, a2, a3);
01785             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01786             if (err != Z3_error_code.Z3_OK)
01787                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01788         }
01789 
01790         public static void Z3_params_set_symbol(Z3_context a0, Z3_params a1, IntPtr a2, IntPtr a3) {
01791             LIB.Z3_params_set_symbol(a0, a1, a2, a3);
01792             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01793             if (err != Z3_error_code.Z3_OK)
01794                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01795         }
01796 
01797         public static string Z3_params_to_string(Z3_context a0, Z3_params a1) {
01798             IntPtr r = LIB.Z3_params_to_string(a0, a1);
01799             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01800             if (err != Z3_error_code.Z3_OK)
01801                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01802             return Marshal.PtrToStringAnsi(r);
01803         }
01804 
01805         public static void Z3_params_validate(Z3_context a0, Z3_params a1, Z3_param_descrs a2) {
01806             LIB.Z3_params_validate(a0, a1, a2);
01807             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01808             if (err != Z3_error_code.Z3_OK)
01809                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01810         }
01811 
01812         public static void Z3_param_descrs_inc_ref(Z3_context a0, Z3_param_descrs a1) {
01813             LIB.Z3_param_descrs_inc_ref(a0, a1);
01814             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01815             if (err != Z3_error_code.Z3_OK)
01816                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01817         }
01818 
01819         public static void Z3_param_descrs_dec_ref(Z3_context a0, Z3_param_descrs a1) {
01820             LIB.Z3_param_descrs_dec_ref(a0, a1);
01821             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01822             if (err != Z3_error_code.Z3_OK)
01823                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01824         }
01825 
01826         public static uint Z3_param_descrs_get_kind(Z3_context a0, Z3_param_descrs a1, IntPtr a2) {
01827             uint r = LIB.Z3_param_descrs_get_kind(a0, a1, a2);
01828             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01829             if (err != Z3_error_code.Z3_OK)
01830                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01831             return r;
01832         }
01833 
01834         public static uint Z3_param_descrs_size(Z3_context a0, Z3_param_descrs a1) {
01835             uint r = LIB.Z3_param_descrs_size(a0, a1);
01836             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01837             if (err != Z3_error_code.Z3_OK)
01838                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01839             return r;
01840         }
01841 
01842         public static IntPtr Z3_param_descrs_get_name(Z3_context a0, Z3_param_descrs a1, uint a2) {
01843             IntPtr r = LIB.Z3_param_descrs_get_name(a0, a1, a2);
01844             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01845             if (err != Z3_error_code.Z3_OK)
01846                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01847             return r;
01848         }
01849 
01850         public static string Z3_param_descrs_to_string(Z3_context a0, Z3_param_descrs a1) {
01851             IntPtr r = LIB.Z3_param_descrs_to_string(a0, a1);
01852             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01853             if (err != Z3_error_code.Z3_OK)
01854                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01855             return Marshal.PtrToStringAnsi(r);
01856         }
01857 
01858         public static IntPtr Z3_mk_int_symbol(Z3_context a0, int a1) {
01859             IntPtr r = LIB.Z3_mk_int_symbol(a0, a1);
01860             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01861             if (err != Z3_error_code.Z3_OK)
01862                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01863             return r;
01864         }
01865 
01866         public static IntPtr Z3_mk_string_symbol(Z3_context a0, string a1) {
01867             IntPtr r = LIB.Z3_mk_string_symbol(a0, a1);
01868             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01869             if (err != Z3_error_code.Z3_OK)
01870                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01871             return r;
01872         }
01873 
01874         public static Z3_sort Z3_mk_uninterpreted_sort(Z3_context a0, IntPtr a1) {
01875             Z3_sort r = LIB.Z3_mk_uninterpreted_sort(a0, a1);
01876             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01877             if (err != Z3_error_code.Z3_OK)
01878                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01879             return r;
01880         }
01881 
01882         public static Z3_sort Z3_mk_bool_sort(Z3_context a0) {
01883             Z3_sort r = LIB.Z3_mk_bool_sort(a0);
01884             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01885             if (err != Z3_error_code.Z3_OK)
01886                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01887             return r;
01888         }
01889 
01890         public static Z3_sort Z3_mk_int_sort(Z3_context a0) {
01891             Z3_sort r = LIB.Z3_mk_int_sort(a0);
01892             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01893             if (err != Z3_error_code.Z3_OK)
01894                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01895             return r;
01896         }
01897 
01898         public static Z3_sort Z3_mk_real_sort(Z3_context a0) {
01899             Z3_sort r = LIB.Z3_mk_real_sort(a0);
01900             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01901             if (err != Z3_error_code.Z3_OK)
01902                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01903             return r;
01904         }
01905 
01906         public static Z3_sort Z3_mk_bv_sort(Z3_context a0, uint a1) {
01907             Z3_sort r = LIB.Z3_mk_bv_sort(a0, a1);
01908             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01909             if (err != Z3_error_code.Z3_OK)
01910                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01911             return r;
01912         }
01913 
01914         public static Z3_sort Z3_mk_finite_domain_sort(Z3_context a0, IntPtr a1, UInt64 a2) {
01915             Z3_sort r = LIB.Z3_mk_finite_domain_sort(a0, a1, a2);
01916             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01917             if (err != Z3_error_code.Z3_OK)
01918                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01919             return r;
01920         }
01921 
01922         public static Z3_sort Z3_mk_array_sort(Z3_context a0, Z3_sort a1, Z3_sort a2) {
01923             Z3_sort r = LIB.Z3_mk_array_sort(a0, a1, a2);
01924             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01925             if (err != Z3_error_code.Z3_OK)
01926                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01927             return r;
01928         }
01929 
01930         public static Z3_sort Z3_mk_tuple_sort(Z3_context a0, IntPtr a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, [In, Out] ref Z3_func_decl a5, [Out] Z3_func_decl[] a6) {
01931             Z3_sort r = LIB.Z3_mk_tuple_sort(a0, a1, a2, a3, a4, ref a5, a6);
01932             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01933             if (err != Z3_error_code.Z3_OK)
01934                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01935             return r;
01936         }
01937 
01938         public static Z3_sort Z3_mk_enumeration_sort(Z3_context a0, IntPtr a1, uint a2, [In] IntPtr[] a3, [Out] Z3_func_decl[] a4, [Out] Z3_func_decl[] a5) {
01939             Z3_sort r = LIB.Z3_mk_enumeration_sort(a0, a1, a2, a3, a4, a5);
01940             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01941             if (err != Z3_error_code.Z3_OK)
01942                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01943             return r;
01944         }
01945 
01946         public static Z3_sort Z3_mk_list_sort(Z3_context a0, IntPtr a1, Z3_sort a2, [In, Out] ref Z3_func_decl a3, [In, Out] ref Z3_func_decl a4, [In, Out] ref Z3_func_decl a5, [In, Out] ref Z3_func_decl a6, [In, Out] ref Z3_func_decl a7, [In, Out] ref Z3_func_decl a8) {
01947             Z3_sort r = LIB.Z3_mk_list_sort(a0, a1, a2, ref a3, ref a4, ref a5, ref a6, ref a7, ref a8);
01948             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01949             if (err != Z3_error_code.Z3_OK)
01950                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01951             return r;
01952         }
01953 
01954         public static Z3_constructor Z3_mk_constructor(Z3_context a0, IntPtr a1, IntPtr a2, uint a3, [In] IntPtr[] a4, [In] Z3_sort[] a5, [In] uint[] a6) {
01955             Z3_constructor r = LIB.Z3_mk_constructor(a0, a1, a2, a3, a4, a5, a6);
01956             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01957             if (err != Z3_error_code.Z3_OK)
01958                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01959             return r;
01960         }
01961 
01962         public static void Z3_del_constructor(Z3_context a0, Z3_constructor a1) {
01963             LIB.Z3_del_constructor(a0, a1);
01964             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01965             if (err != Z3_error_code.Z3_OK)
01966                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01967         }
01968 
01969         public static Z3_sort Z3_mk_datatype(Z3_context a0, IntPtr a1, uint a2, [In, Out] Z3_constructor[] a3) {
01970             Z3_sort r = LIB.Z3_mk_datatype(a0, a1, a2, a3);
01971             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01972             if (err != Z3_error_code.Z3_OK)
01973                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01974             return r;
01975         }
01976 
01977         public static Z3_constructor_list Z3_mk_constructor_list(Z3_context a0, uint a1, [In] Z3_constructor[] a2) {
01978             Z3_constructor_list r = LIB.Z3_mk_constructor_list(a0, a1, a2);
01979             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01980             if (err != Z3_error_code.Z3_OK)
01981                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01982             return r;
01983         }
01984 
01985         public static void Z3_del_constructor_list(Z3_context a0, Z3_constructor_list a1) {
01986             LIB.Z3_del_constructor_list(a0, a1);
01987             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01988             if (err != Z3_error_code.Z3_OK)
01989                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01990         }
01991 
01992         public static void Z3_mk_datatypes(Z3_context a0, uint a1, [In] IntPtr[] a2, [Out] Z3_sort[] a3, [In, Out] Z3_constructor_list[] a4) {
01993             LIB.Z3_mk_datatypes(a0, a1, a2, a3, a4);
01994             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
01995             if (err != Z3_error_code.Z3_OK)
01996                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
01997         }
01998 
01999         public static void Z3_query_constructor(Z3_context a0, Z3_constructor a1, uint a2, [In, Out] ref Z3_func_decl a3, [In, Out] ref Z3_func_decl a4, [Out] Z3_func_decl[] a5) {
02000             LIB.Z3_query_constructor(a0, a1, a2, ref a3, ref a4, a5);
02001             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02002             if (err != Z3_error_code.Z3_OK)
02003                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02004         }
02005 
02006         public static Z3_func_decl Z3_mk_func_decl(Z3_context a0, IntPtr a1, uint a2, [In] Z3_sort[] a3, Z3_sort a4) {
02007             Z3_func_decl r = LIB.Z3_mk_func_decl(a0, a1, a2, a3, a4);
02008             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02009             if (err != Z3_error_code.Z3_OK)
02010                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02011             return r;
02012         }
02013 
02014         public static Z3_ast Z3_mk_app(Z3_context a0, Z3_func_decl a1, uint a2, [In] Z3_ast[] a3) {
02015             Z3_ast r = LIB.Z3_mk_app(a0, a1, a2, a3);
02016             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02017             if (err != Z3_error_code.Z3_OK)
02018                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02019             return r;
02020         }
02021 
02022         public static Z3_ast Z3_mk_const(Z3_context a0, IntPtr a1, Z3_sort a2) {
02023             Z3_ast r = LIB.Z3_mk_const(a0, a1, a2);
02024             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02025             if (err != Z3_error_code.Z3_OK)
02026                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02027             return r;
02028         }
02029 
02030         public static Z3_func_decl Z3_mk_fresh_func_decl(Z3_context a0, string a1, uint a2, [In] Z3_sort[] a3, Z3_sort a4) {
02031             Z3_func_decl r = LIB.Z3_mk_fresh_func_decl(a0, a1, a2, a3, a4);
02032             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02033             if (err != Z3_error_code.Z3_OK)
02034                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02035             return r;
02036         }
02037 
02038         public static Z3_ast Z3_mk_fresh_const(Z3_context a0, string a1, Z3_sort a2) {
02039             Z3_ast r = LIB.Z3_mk_fresh_const(a0, a1, a2);
02040             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02041             if (err != Z3_error_code.Z3_OK)
02042                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02043             return r;
02044         }
02045 
02046         public static Z3_ast Z3_mk_true(Z3_context a0) {
02047             Z3_ast r = LIB.Z3_mk_true(a0);
02048             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02049             if (err != Z3_error_code.Z3_OK)
02050                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02051             return r;
02052         }
02053 
02054         public static Z3_ast Z3_mk_false(Z3_context a0) {
02055             Z3_ast r = LIB.Z3_mk_false(a0);
02056             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02057             if (err != Z3_error_code.Z3_OK)
02058                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02059             return r;
02060         }
02061 
02062         public static Z3_ast Z3_mk_eq(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02063             Z3_ast r = LIB.Z3_mk_eq(a0, a1, a2);
02064             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02065             if (err != Z3_error_code.Z3_OK)
02066                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02067             return r;
02068         }
02069 
02070         public static Z3_ast Z3_mk_distinct(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02071             Z3_ast r = LIB.Z3_mk_distinct(a0, a1, a2);
02072             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02073             if (err != Z3_error_code.Z3_OK)
02074                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02075             return r;
02076         }
02077 
02078         public static Z3_ast Z3_mk_not(Z3_context a0, Z3_ast a1) {
02079             Z3_ast r = LIB.Z3_mk_not(a0, a1);
02080             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02081             if (err != Z3_error_code.Z3_OK)
02082                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02083             return r;
02084         }
02085 
02086         public static Z3_ast Z3_mk_ite(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_ast a3) {
02087             Z3_ast r = LIB.Z3_mk_ite(a0, a1, a2, a3);
02088             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02089             if (err != Z3_error_code.Z3_OK)
02090                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02091             return r;
02092         }
02093 
02094         public static Z3_ast Z3_mk_iff(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02095             Z3_ast r = LIB.Z3_mk_iff(a0, a1, a2);
02096             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02097             if (err != Z3_error_code.Z3_OK)
02098                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02099             return r;
02100         }
02101 
02102         public static Z3_ast Z3_mk_implies(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02103             Z3_ast r = LIB.Z3_mk_implies(a0, a1, a2);
02104             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02105             if (err != Z3_error_code.Z3_OK)
02106                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02107             return r;
02108         }
02109 
02110         public static Z3_ast Z3_mk_xor(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02111             Z3_ast r = LIB.Z3_mk_xor(a0, a1, a2);
02112             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02113             if (err != Z3_error_code.Z3_OK)
02114                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02115             return r;
02116         }
02117 
02118         public static Z3_ast Z3_mk_and(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02119             Z3_ast r = LIB.Z3_mk_and(a0, a1, a2);
02120             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02121             if (err != Z3_error_code.Z3_OK)
02122                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02123             return r;
02124         }
02125 
02126         public static Z3_ast Z3_mk_or(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02127             Z3_ast r = LIB.Z3_mk_or(a0, a1, a2);
02128             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02129             if (err != Z3_error_code.Z3_OK)
02130                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02131             return r;
02132         }
02133 
02134         public static Z3_ast Z3_mk_add(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02135             Z3_ast r = LIB.Z3_mk_add(a0, a1, a2);
02136             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02137             if (err != Z3_error_code.Z3_OK)
02138                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02139             return r;
02140         }
02141 
02142         public static Z3_ast Z3_mk_mul(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02143             Z3_ast r = LIB.Z3_mk_mul(a0, a1, a2);
02144             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02145             if (err != Z3_error_code.Z3_OK)
02146                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02147             return r;
02148         }
02149 
02150         public static Z3_ast Z3_mk_sub(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02151             Z3_ast r = LIB.Z3_mk_sub(a0, a1, a2);
02152             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02153             if (err != Z3_error_code.Z3_OK)
02154                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02155             return r;
02156         }
02157 
02158         public static Z3_ast Z3_mk_unary_minus(Z3_context a0, Z3_ast a1) {
02159             Z3_ast r = LIB.Z3_mk_unary_minus(a0, a1);
02160             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02161             if (err != Z3_error_code.Z3_OK)
02162                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02163             return r;
02164         }
02165 
02166         public static Z3_ast Z3_mk_div(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02167             Z3_ast r = LIB.Z3_mk_div(a0, a1, a2);
02168             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02169             if (err != Z3_error_code.Z3_OK)
02170                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02171             return r;
02172         }
02173 
02174         public static Z3_ast Z3_mk_mod(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02175             Z3_ast r = LIB.Z3_mk_mod(a0, a1, a2);
02176             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02177             if (err != Z3_error_code.Z3_OK)
02178                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02179             return r;
02180         }
02181 
02182         public static Z3_ast Z3_mk_rem(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02183             Z3_ast r = LIB.Z3_mk_rem(a0, a1, a2);
02184             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02185             if (err != Z3_error_code.Z3_OK)
02186                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02187             return r;
02188         }
02189 
02190         public static Z3_ast Z3_mk_power(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02191             Z3_ast r = LIB.Z3_mk_power(a0, a1, a2);
02192             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02193             if (err != Z3_error_code.Z3_OK)
02194                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02195             return r;
02196         }
02197 
02198         public static Z3_ast Z3_mk_lt(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02199             Z3_ast r = LIB.Z3_mk_lt(a0, a1, a2);
02200             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02201             if (err != Z3_error_code.Z3_OK)
02202                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02203             return r;
02204         }
02205 
02206         public static Z3_ast Z3_mk_le(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02207             Z3_ast r = LIB.Z3_mk_le(a0, a1, a2);
02208             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02209             if (err != Z3_error_code.Z3_OK)
02210                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02211             return r;
02212         }
02213 
02214         public static Z3_ast Z3_mk_gt(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02215             Z3_ast r = LIB.Z3_mk_gt(a0, a1, a2);
02216             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02217             if (err != Z3_error_code.Z3_OK)
02218                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02219             return r;
02220         }
02221 
02222         public static Z3_ast Z3_mk_ge(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02223             Z3_ast r = LIB.Z3_mk_ge(a0, a1, a2);
02224             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02225             if (err != Z3_error_code.Z3_OK)
02226                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02227             return r;
02228         }
02229 
02230         public static Z3_ast Z3_mk_int2real(Z3_context a0, Z3_ast a1) {
02231             Z3_ast r = LIB.Z3_mk_int2real(a0, a1);
02232             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02233             if (err != Z3_error_code.Z3_OK)
02234                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02235             return r;
02236         }
02237 
02238         public static Z3_ast Z3_mk_real2int(Z3_context a0, Z3_ast a1) {
02239             Z3_ast r = LIB.Z3_mk_real2int(a0, a1);
02240             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02241             if (err != Z3_error_code.Z3_OK)
02242                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02243             return r;
02244         }
02245 
02246         public static Z3_ast Z3_mk_is_int(Z3_context a0, Z3_ast a1) {
02247             Z3_ast r = LIB.Z3_mk_is_int(a0, a1);
02248             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02249             if (err != Z3_error_code.Z3_OK)
02250                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02251             return r;
02252         }
02253 
02254         public static Z3_ast Z3_mk_bvnot(Z3_context a0, Z3_ast a1) {
02255             Z3_ast r = LIB.Z3_mk_bvnot(a0, a1);
02256             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02257             if (err != Z3_error_code.Z3_OK)
02258                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02259             return r;
02260         }
02261 
02262         public static Z3_ast Z3_mk_bvredand(Z3_context a0, Z3_ast a1) {
02263             Z3_ast r = LIB.Z3_mk_bvredand(a0, a1);
02264             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02265             if (err != Z3_error_code.Z3_OK)
02266                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02267             return r;
02268         }
02269 
02270         public static Z3_ast Z3_mk_bvredor(Z3_context a0, Z3_ast a1) {
02271             Z3_ast r = LIB.Z3_mk_bvredor(a0, a1);
02272             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02273             if (err != Z3_error_code.Z3_OK)
02274                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02275             return r;
02276         }
02277 
02278         public static Z3_ast Z3_mk_bvand(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02279             Z3_ast r = LIB.Z3_mk_bvand(a0, a1, a2);
02280             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02281             if (err != Z3_error_code.Z3_OK)
02282                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02283             return r;
02284         }
02285 
02286         public static Z3_ast Z3_mk_bvor(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02287             Z3_ast r = LIB.Z3_mk_bvor(a0, a1, a2);
02288             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02289             if (err != Z3_error_code.Z3_OK)
02290                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02291             return r;
02292         }
02293 
02294         public static Z3_ast Z3_mk_bvxor(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02295             Z3_ast r = LIB.Z3_mk_bvxor(a0, a1, a2);
02296             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02297             if (err != Z3_error_code.Z3_OK)
02298                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02299             return r;
02300         }
02301 
02302         public static Z3_ast Z3_mk_bvnand(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02303             Z3_ast r = LIB.Z3_mk_bvnand(a0, a1, a2);
02304             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02305             if (err != Z3_error_code.Z3_OK)
02306                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02307             return r;
02308         }
02309 
02310         public static Z3_ast Z3_mk_bvnor(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02311             Z3_ast r = LIB.Z3_mk_bvnor(a0, a1, a2);
02312             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02313             if (err != Z3_error_code.Z3_OK)
02314                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02315             return r;
02316         }
02317 
02318         public static Z3_ast Z3_mk_bvxnor(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02319             Z3_ast r = LIB.Z3_mk_bvxnor(a0, a1, a2);
02320             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02321             if (err != Z3_error_code.Z3_OK)
02322                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02323             return r;
02324         }
02325 
02326         public static Z3_ast Z3_mk_bvneg(Z3_context a0, Z3_ast a1) {
02327             Z3_ast r = LIB.Z3_mk_bvneg(a0, a1);
02328             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02329             if (err != Z3_error_code.Z3_OK)
02330                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02331             return r;
02332         }
02333 
02334         public static Z3_ast Z3_mk_bvadd(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02335             Z3_ast r = LIB.Z3_mk_bvadd(a0, a1, a2);
02336             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02337             if (err != Z3_error_code.Z3_OK)
02338                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02339             return r;
02340         }
02341 
02342         public static Z3_ast Z3_mk_bvsub(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02343             Z3_ast r = LIB.Z3_mk_bvsub(a0, a1, a2);
02344             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02345             if (err != Z3_error_code.Z3_OK)
02346                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02347             return r;
02348         }
02349 
02350         public static Z3_ast Z3_mk_bvmul(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02351             Z3_ast r = LIB.Z3_mk_bvmul(a0, a1, a2);
02352             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02353             if (err != Z3_error_code.Z3_OK)
02354                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02355             return r;
02356         }
02357 
02358         public static Z3_ast Z3_mk_bvudiv(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02359             Z3_ast r = LIB.Z3_mk_bvudiv(a0, a1, a2);
02360             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02361             if (err != Z3_error_code.Z3_OK)
02362                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02363             return r;
02364         }
02365 
02366         public static Z3_ast Z3_mk_bvsdiv(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02367             Z3_ast r = LIB.Z3_mk_bvsdiv(a0, a1, a2);
02368             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02369             if (err != Z3_error_code.Z3_OK)
02370                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02371             return r;
02372         }
02373 
02374         public static Z3_ast Z3_mk_bvurem(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02375             Z3_ast r = LIB.Z3_mk_bvurem(a0, a1, a2);
02376             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02377             if (err != Z3_error_code.Z3_OK)
02378                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02379             return r;
02380         }
02381 
02382         public static Z3_ast Z3_mk_bvsrem(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02383             Z3_ast r = LIB.Z3_mk_bvsrem(a0, a1, a2);
02384             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02385             if (err != Z3_error_code.Z3_OK)
02386                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02387             return r;
02388         }
02389 
02390         public static Z3_ast Z3_mk_bvsmod(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02391             Z3_ast r = LIB.Z3_mk_bvsmod(a0, a1, a2);
02392             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02393             if (err != Z3_error_code.Z3_OK)
02394                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02395             return r;
02396         }
02397 
02398         public static Z3_ast Z3_mk_bvult(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02399             Z3_ast r = LIB.Z3_mk_bvult(a0, a1, a2);
02400             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02401             if (err != Z3_error_code.Z3_OK)
02402                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02403             return r;
02404         }
02405 
02406         public static Z3_ast Z3_mk_bvslt(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02407             Z3_ast r = LIB.Z3_mk_bvslt(a0, a1, a2);
02408             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02409             if (err != Z3_error_code.Z3_OK)
02410                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02411             return r;
02412         }
02413 
02414         public static Z3_ast Z3_mk_bvule(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02415             Z3_ast r = LIB.Z3_mk_bvule(a0, a1, a2);
02416             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02417             if (err != Z3_error_code.Z3_OK)
02418                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02419             return r;
02420         }
02421 
02422         public static Z3_ast Z3_mk_bvsle(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02423             Z3_ast r = LIB.Z3_mk_bvsle(a0, a1, a2);
02424             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02425             if (err != Z3_error_code.Z3_OK)
02426                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02427             return r;
02428         }
02429 
02430         public static Z3_ast Z3_mk_bvuge(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02431             Z3_ast r = LIB.Z3_mk_bvuge(a0, a1, a2);
02432             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02433             if (err != Z3_error_code.Z3_OK)
02434                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02435             return r;
02436         }
02437 
02438         public static Z3_ast Z3_mk_bvsge(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02439             Z3_ast r = LIB.Z3_mk_bvsge(a0, a1, a2);
02440             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02441             if (err != Z3_error_code.Z3_OK)
02442                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02443             return r;
02444         }
02445 
02446         public static Z3_ast Z3_mk_bvugt(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02447             Z3_ast r = LIB.Z3_mk_bvugt(a0, a1, a2);
02448             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02449             if (err != Z3_error_code.Z3_OK)
02450                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02451             return r;
02452         }
02453 
02454         public static Z3_ast Z3_mk_bvsgt(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02455             Z3_ast r = LIB.Z3_mk_bvsgt(a0, a1, a2);
02456             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02457             if (err != Z3_error_code.Z3_OK)
02458                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02459             return r;
02460         }
02461 
02462         public static Z3_ast Z3_mk_concat(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02463             Z3_ast r = LIB.Z3_mk_concat(a0, a1, a2);
02464             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02465             if (err != Z3_error_code.Z3_OK)
02466                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02467             return r;
02468         }
02469 
02470         public static Z3_ast Z3_mk_extract(Z3_context a0, uint a1, uint a2, Z3_ast a3) {
02471             Z3_ast r = LIB.Z3_mk_extract(a0, a1, a2, a3);
02472             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02473             if (err != Z3_error_code.Z3_OK)
02474                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02475             return r;
02476         }
02477 
02478         public static Z3_ast Z3_mk_sign_ext(Z3_context a0, uint a1, Z3_ast a2) {
02479             Z3_ast r = LIB.Z3_mk_sign_ext(a0, a1, a2);
02480             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02481             if (err != Z3_error_code.Z3_OK)
02482                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02483             return r;
02484         }
02485 
02486         public static Z3_ast Z3_mk_zero_ext(Z3_context a0, uint a1, Z3_ast a2) {
02487             Z3_ast r = LIB.Z3_mk_zero_ext(a0, a1, a2);
02488             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02489             if (err != Z3_error_code.Z3_OK)
02490                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02491             return r;
02492         }
02493 
02494         public static Z3_ast Z3_mk_repeat(Z3_context a0, uint a1, Z3_ast a2) {
02495             Z3_ast r = LIB.Z3_mk_repeat(a0, a1, a2);
02496             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02497             if (err != Z3_error_code.Z3_OK)
02498                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02499             return r;
02500         }
02501 
02502         public static Z3_ast Z3_mk_bvshl(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02503             Z3_ast r = LIB.Z3_mk_bvshl(a0, a1, a2);
02504             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02505             if (err != Z3_error_code.Z3_OK)
02506                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02507             return r;
02508         }
02509 
02510         public static Z3_ast Z3_mk_bvlshr(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02511             Z3_ast r = LIB.Z3_mk_bvlshr(a0, a1, a2);
02512             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02513             if (err != Z3_error_code.Z3_OK)
02514                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02515             return r;
02516         }
02517 
02518         public static Z3_ast Z3_mk_bvashr(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02519             Z3_ast r = LIB.Z3_mk_bvashr(a0, a1, a2);
02520             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02521             if (err != Z3_error_code.Z3_OK)
02522                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02523             return r;
02524         }
02525 
02526         public static Z3_ast Z3_mk_rotate_left(Z3_context a0, uint a1, Z3_ast a2) {
02527             Z3_ast r = LIB.Z3_mk_rotate_left(a0, a1, a2);
02528             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02529             if (err != Z3_error_code.Z3_OK)
02530                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02531             return r;
02532         }
02533 
02534         public static Z3_ast Z3_mk_rotate_right(Z3_context a0, uint a1, Z3_ast a2) {
02535             Z3_ast r = LIB.Z3_mk_rotate_right(a0, a1, a2);
02536             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02537             if (err != Z3_error_code.Z3_OK)
02538                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02539             return r;
02540         }
02541 
02542         public static Z3_ast Z3_mk_ext_rotate_left(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02543             Z3_ast r = LIB.Z3_mk_ext_rotate_left(a0, a1, a2);
02544             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02545             if (err != Z3_error_code.Z3_OK)
02546                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02547             return r;
02548         }
02549 
02550         public static Z3_ast Z3_mk_ext_rotate_right(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02551             Z3_ast r = LIB.Z3_mk_ext_rotate_right(a0, a1, a2);
02552             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02553             if (err != Z3_error_code.Z3_OK)
02554                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02555             return r;
02556         }
02557 
02558         public static Z3_ast Z3_mk_int2bv(Z3_context a0, uint a1, Z3_ast a2) {
02559             Z3_ast r = LIB.Z3_mk_int2bv(a0, a1, a2);
02560             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02561             if (err != Z3_error_code.Z3_OK)
02562                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02563             return r;
02564         }
02565 
02566         public static Z3_ast Z3_mk_bv2int(Z3_context a0, Z3_ast a1, int a2) {
02567             Z3_ast r = LIB.Z3_mk_bv2int(a0, a1, a2);
02568             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02569             if (err != Z3_error_code.Z3_OK)
02570                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02571             return r;
02572         }
02573 
02574         public static Z3_ast Z3_mk_bvadd_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2, int a3) {
02575             Z3_ast r = LIB.Z3_mk_bvadd_no_overflow(a0, a1, a2, a3);
02576             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02577             if (err != Z3_error_code.Z3_OK)
02578                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02579             return r;
02580         }
02581 
02582         public static Z3_ast Z3_mk_bvadd_no_underflow(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02583             Z3_ast r = LIB.Z3_mk_bvadd_no_underflow(a0, a1, a2);
02584             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02585             if (err != Z3_error_code.Z3_OK)
02586                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02587             return r;
02588         }
02589 
02590         public static Z3_ast Z3_mk_bvsub_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02591             Z3_ast r = LIB.Z3_mk_bvsub_no_overflow(a0, a1, a2);
02592             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02593             if (err != Z3_error_code.Z3_OK)
02594                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02595             return r;
02596         }
02597 
02598         public static Z3_ast Z3_mk_bvsub_no_underflow(Z3_context a0, Z3_ast a1, Z3_ast a2, int a3) {
02599             Z3_ast r = LIB.Z3_mk_bvsub_no_underflow(a0, a1, a2, a3);
02600             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02601             if (err != Z3_error_code.Z3_OK)
02602                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02603             return r;
02604         }
02605 
02606         public static Z3_ast Z3_mk_bvsdiv_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02607             Z3_ast r = LIB.Z3_mk_bvsdiv_no_overflow(a0, a1, a2);
02608             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02609             if (err != Z3_error_code.Z3_OK)
02610                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02611             return r;
02612         }
02613 
02614         public static Z3_ast Z3_mk_bvneg_no_overflow(Z3_context a0, Z3_ast a1) {
02615             Z3_ast r = LIB.Z3_mk_bvneg_no_overflow(a0, a1);
02616             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02617             if (err != Z3_error_code.Z3_OK)
02618                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02619             return r;
02620         }
02621 
02622         public static Z3_ast Z3_mk_bvmul_no_overflow(Z3_context a0, Z3_ast a1, Z3_ast a2, int a3) {
02623             Z3_ast r = LIB.Z3_mk_bvmul_no_overflow(a0, a1, a2, a3);
02624             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02625             if (err != Z3_error_code.Z3_OK)
02626                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02627             return r;
02628         }
02629 
02630         public static Z3_ast Z3_mk_bvmul_no_underflow(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02631             Z3_ast r = LIB.Z3_mk_bvmul_no_underflow(a0, a1, a2);
02632             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02633             if (err != Z3_error_code.Z3_OK)
02634                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02635             return r;
02636         }
02637 
02638         public static Z3_ast Z3_mk_select(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02639             Z3_ast r = LIB.Z3_mk_select(a0, a1, a2);
02640             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02641             if (err != Z3_error_code.Z3_OK)
02642                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02643             return r;
02644         }
02645 
02646         public static Z3_ast Z3_mk_store(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_ast a3) {
02647             Z3_ast r = LIB.Z3_mk_store(a0, a1, a2, a3);
02648             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02649             if (err != Z3_error_code.Z3_OK)
02650                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02651             return r;
02652         }
02653 
02654         public static Z3_ast Z3_mk_const_array(Z3_context a0, Z3_sort a1, Z3_ast a2) {
02655             Z3_ast r = LIB.Z3_mk_const_array(a0, a1, a2);
02656             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02657             if (err != Z3_error_code.Z3_OK)
02658                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02659             return r;
02660         }
02661 
02662         public static Z3_ast Z3_mk_map(Z3_context a0, Z3_func_decl a1, uint a2, [In] Z3_ast[] a3) {
02663             Z3_ast r = LIB.Z3_mk_map(a0, a1, a2, a3);
02664             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02665             if (err != Z3_error_code.Z3_OK)
02666                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02667             return r;
02668         }
02669 
02670         public static Z3_ast Z3_mk_array_default(Z3_context a0, Z3_ast a1) {
02671             Z3_ast r = LIB.Z3_mk_array_default(a0, a1);
02672             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02673             if (err != Z3_error_code.Z3_OK)
02674                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02675             return r;
02676         }
02677 
02678         public static Z3_sort Z3_mk_set_sort(Z3_context a0, Z3_sort a1) {
02679             Z3_sort r = LIB.Z3_mk_set_sort(a0, a1);
02680             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02681             if (err != Z3_error_code.Z3_OK)
02682                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02683             return r;
02684         }
02685 
02686         public static Z3_ast Z3_mk_empty_set(Z3_context a0, Z3_sort a1) {
02687             Z3_ast r = LIB.Z3_mk_empty_set(a0, a1);
02688             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02689             if (err != Z3_error_code.Z3_OK)
02690                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02691             return r;
02692         }
02693 
02694         public static Z3_ast Z3_mk_full_set(Z3_context a0, Z3_sort a1) {
02695             Z3_ast r = LIB.Z3_mk_full_set(a0, a1);
02696             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02697             if (err != Z3_error_code.Z3_OK)
02698                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02699             return r;
02700         }
02701 
02702         public static Z3_ast Z3_mk_set_add(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02703             Z3_ast r = LIB.Z3_mk_set_add(a0, a1, a2);
02704             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02705             if (err != Z3_error_code.Z3_OK)
02706                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02707             return r;
02708         }
02709 
02710         public static Z3_ast Z3_mk_set_del(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02711             Z3_ast r = LIB.Z3_mk_set_del(a0, a1, a2);
02712             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02713             if (err != Z3_error_code.Z3_OK)
02714                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02715             return r;
02716         }
02717 
02718         public static Z3_ast Z3_mk_set_union(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02719             Z3_ast r = LIB.Z3_mk_set_union(a0, a1, a2);
02720             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02721             if (err != Z3_error_code.Z3_OK)
02722                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02723             return r;
02724         }
02725 
02726         public static Z3_ast Z3_mk_set_intersect(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02727             Z3_ast r = LIB.Z3_mk_set_intersect(a0, a1, a2);
02728             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02729             if (err != Z3_error_code.Z3_OK)
02730                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02731             return r;
02732         }
02733 
02734         public static Z3_ast Z3_mk_set_difference(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02735             Z3_ast r = LIB.Z3_mk_set_difference(a0, a1, a2);
02736             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02737             if (err != Z3_error_code.Z3_OK)
02738                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02739             return r;
02740         }
02741 
02742         public static Z3_ast Z3_mk_set_complement(Z3_context a0, Z3_ast a1) {
02743             Z3_ast r = LIB.Z3_mk_set_complement(a0, a1);
02744             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02745             if (err != Z3_error_code.Z3_OK)
02746                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02747             return r;
02748         }
02749 
02750         public static Z3_ast Z3_mk_set_member(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02751             Z3_ast r = LIB.Z3_mk_set_member(a0, a1, a2);
02752             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02753             if (err != Z3_error_code.Z3_OK)
02754                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02755             return r;
02756         }
02757 
02758         public static Z3_ast Z3_mk_set_subset(Z3_context a0, Z3_ast a1, Z3_ast a2) {
02759             Z3_ast r = LIB.Z3_mk_set_subset(a0, a1, a2);
02760             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02761             if (err != Z3_error_code.Z3_OK)
02762                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02763             return r;
02764         }
02765 
02766         public static Z3_ast Z3_mk_numeral(Z3_context a0, string a1, Z3_sort a2) {
02767             Z3_ast r = LIB.Z3_mk_numeral(a0, a1, a2);
02768             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02769             if (err != Z3_error_code.Z3_OK)
02770                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02771             return r;
02772         }
02773 
02774         public static Z3_ast Z3_mk_real(Z3_context a0, int a1, int a2) {
02775             Z3_ast r = LIB.Z3_mk_real(a0, a1, a2);
02776             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02777             if (err != Z3_error_code.Z3_OK)
02778                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02779             return r;
02780         }
02781 
02782         public static Z3_ast Z3_mk_int(Z3_context a0, int a1, Z3_sort a2) {
02783             Z3_ast r = LIB.Z3_mk_int(a0, a1, a2);
02784             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02785             if (err != Z3_error_code.Z3_OK)
02786                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02787             return r;
02788         }
02789 
02790         public static Z3_ast Z3_mk_unsigned_int(Z3_context a0, uint a1, Z3_sort a2) {
02791             Z3_ast r = LIB.Z3_mk_unsigned_int(a0, a1, a2);
02792             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02793             if (err != Z3_error_code.Z3_OK)
02794                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02795             return r;
02796         }
02797 
02798         public static Z3_ast Z3_mk_int64(Z3_context a0, Int64 a1, Z3_sort a2) {
02799             Z3_ast r = LIB.Z3_mk_int64(a0, a1, a2);
02800             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02801             if (err != Z3_error_code.Z3_OK)
02802                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02803             return r;
02804         }
02805 
02806         public static Z3_ast Z3_mk_unsigned_int64(Z3_context a0, UInt64 a1, Z3_sort a2) {
02807             Z3_ast r = LIB.Z3_mk_unsigned_int64(a0, a1, a2);
02808             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02809             if (err != Z3_error_code.Z3_OK)
02810                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02811             return r;
02812         }
02813 
02814         public static Z3_pattern Z3_mk_pattern(Z3_context a0, uint a1, [In] Z3_ast[] a2) {
02815             Z3_pattern r = LIB.Z3_mk_pattern(a0, a1, a2);
02816             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02817             if (err != Z3_error_code.Z3_OK)
02818                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02819             return r;
02820         }
02821 
02822         public static Z3_ast Z3_mk_bound(Z3_context a0, uint a1, Z3_sort a2) {
02823             Z3_ast r = LIB.Z3_mk_bound(a0, a1, a2);
02824             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02825             if (err != Z3_error_code.Z3_OK)
02826                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02827             return r;
02828         }
02829 
02830         public static Z3_ast Z3_mk_forall(Z3_context a0, uint a1, uint a2, [In] Z3_pattern[] a3, uint a4, [In] Z3_sort[] a5, [In] IntPtr[] a6, Z3_ast a7) {
02831             Z3_ast r = LIB.Z3_mk_forall(a0, a1, a2, a3, a4, a5, a6, a7);
02832             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02833             if (err != Z3_error_code.Z3_OK)
02834                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02835             return r;
02836         }
02837 
02838         public static Z3_ast Z3_mk_exists(Z3_context a0, uint a1, uint a2, [In] Z3_pattern[] a3, uint a4, [In] Z3_sort[] a5, [In] IntPtr[] a6, Z3_ast a7) {
02839             Z3_ast r = LIB.Z3_mk_exists(a0, a1, a2, a3, a4, a5, a6, a7);
02840             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02841             if (err != Z3_error_code.Z3_OK)
02842                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02843             return r;
02844         }
02845 
02846         public static Z3_ast Z3_mk_quantifier(Z3_context a0, int a1, uint a2, uint a3, [In] Z3_pattern[] a4, uint a5, [In] Z3_sort[] a6, [In] IntPtr[] a7, Z3_ast a8) {
02847             Z3_ast r = LIB.Z3_mk_quantifier(a0, a1, a2, a3, a4, a5, a6, a7, a8);
02848             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02849             if (err != Z3_error_code.Z3_OK)
02850                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02851             return r;
02852         }
02853 
02854         public static Z3_ast Z3_mk_quantifier_ex(Z3_context a0, int a1, uint a2, IntPtr a3, IntPtr a4, uint a5, [In] Z3_pattern[] a6, uint a7, [In] Z3_ast[] a8, uint a9, [In] Z3_sort[] a10, [In] IntPtr[] a11, Z3_ast a12) {
02855             Z3_ast r = LIB.Z3_mk_quantifier_ex(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
02856             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02857             if (err != Z3_error_code.Z3_OK)
02858                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02859             return r;
02860         }
02861 
02862         public static Z3_ast Z3_mk_forall_const(Z3_context a0, uint a1, uint a2, [In] Z3_app[] a3, uint a4, [In] Z3_pattern[] a5, Z3_ast a6) {
02863             Z3_ast r = LIB.Z3_mk_forall_const(a0, a1, a2, a3, a4, a5, a6);
02864             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02865             if (err != Z3_error_code.Z3_OK)
02866                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02867             return r;
02868         }
02869 
02870         public static Z3_ast Z3_mk_exists_const(Z3_context a0, uint a1, uint a2, [In] Z3_app[] a3, uint a4, [In] Z3_pattern[] a5, Z3_ast a6) {
02871             Z3_ast r = LIB.Z3_mk_exists_const(a0, a1, a2, a3, a4, a5, a6);
02872             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02873             if (err != Z3_error_code.Z3_OK)
02874                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02875             return r;
02876         }
02877 
02878         public static Z3_ast Z3_mk_quantifier_const(Z3_context a0, int a1, uint a2, uint a3, [In] Z3_app[] a4, uint a5, [In] Z3_pattern[] a6, Z3_ast a7) {
02879             Z3_ast r = LIB.Z3_mk_quantifier_const(a0, a1, a2, a3, a4, a5, a6, a7);
02880             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02881             if (err != Z3_error_code.Z3_OK)
02882                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02883             return r;
02884         }
02885 
02886         public static Z3_ast Z3_mk_quantifier_const_ex(Z3_context a0, int a1, uint a2, IntPtr a3, IntPtr a4, uint a5, [In] Z3_app[] a6, uint a7, [In] Z3_pattern[] a8, uint a9, [In] Z3_ast[] a10, Z3_ast a11) {
02887             Z3_ast r = LIB.Z3_mk_quantifier_const_ex(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
02888             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02889             if (err != Z3_error_code.Z3_OK)
02890                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02891             return r;
02892         }
02893 
02894         public static uint Z3_get_symbol_kind(Z3_context a0, IntPtr a1) {
02895             uint r = LIB.Z3_get_symbol_kind(a0, a1);
02896             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02897             if (err != Z3_error_code.Z3_OK)
02898                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02899             return r;
02900         }
02901 
02902         public static int Z3_get_symbol_int(Z3_context a0, IntPtr a1) {
02903             int r = LIB.Z3_get_symbol_int(a0, a1);
02904             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02905             if (err != Z3_error_code.Z3_OK)
02906                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02907             return r;
02908         }
02909 
02910         public static string Z3_get_symbol_string(Z3_context a0, IntPtr a1) {
02911             IntPtr r = LIB.Z3_get_symbol_string(a0, a1);
02912             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02913             if (err != Z3_error_code.Z3_OK)
02914                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02915             return Marshal.PtrToStringAnsi(r);
02916         }
02917 
02918         public static IntPtr Z3_get_sort_name(Z3_context a0, Z3_sort a1) {
02919             IntPtr r = LIB.Z3_get_sort_name(a0, a1);
02920             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02921             if (err != Z3_error_code.Z3_OK)
02922                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02923             return r;
02924         }
02925 
02926         public static uint Z3_get_sort_id(Z3_context a0, Z3_sort a1) {
02927             uint r = LIB.Z3_get_sort_id(a0, a1);
02928             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02929             if (err != Z3_error_code.Z3_OK)
02930                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02931             return r;
02932         }
02933 
02934         public static Z3_ast Z3_sort_to_ast(Z3_context a0, Z3_sort a1) {
02935             Z3_ast r = LIB.Z3_sort_to_ast(a0, a1);
02936             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02937             if (err != Z3_error_code.Z3_OK)
02938                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02939             return r;
02940         }
02941 
02942         public static int Z3_is_eq_sort(Z3_context a0, Z3_sort a1, Z3_sort a2) {
02943             int r = LIB.Z3_is_eq_sort(a0, a1, a2);
02944             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02945             if (err != Z3_error_code.Z3_OK)
02946                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02947             return r;
02948         }
02949 
02950         public static uint Z3_get_sort_kind(Z3_context a0, Z3_sort a1) {
02951             uint r = LIB.Z3_get_sort_kind(a0, a1);
02952             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02953             if (err != Z3_error_code.Z3_OK)
02954                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02955             return r;
02956         }
02957 
02958         public static uint Z3_get_bv_sort_size(Z3_context a0, Z3_sort a1) {
02959             uint r = LIB.Z3_get_bv_sort_size(a0, a1);
02960             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02961             if (err != Z3_error_code.Z3_OK)
02962                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02963             return r;
02964         }
02965 
02966         public static int Z3_get_finite_domain_sort_size(Z3_context a0, Z3_sort a1, [In, Out] ref UInt64 a2) {
02967             int r = LIB.Z3_get_finite_domain_sort_size(a0, a1, ref a2);
02968             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02969             if (err != Z3_error_code.Z3_OK)
02970                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02971             return r;
02972         }
02973 
02974         public static Z3_sort Z3_get_array_sort_domain(Z3_context a0, Z3_sort a1) {
02975             Z3_sort r = LIB.Z3_get_array_sort_domain(a0, a1);
02976             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02977             if (err != Z3_error_code.Z3_OK)
02978                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02979             return r;
02980         }
02981 
02982         public static Z3_sort Z3_get_array_sort_range(Z3_context a0, Z3_sort a1) {
02983             Z3_sort r = LIB.Z3_get_array_sort_range(a0, a1);
02984             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02985             if (err != Z3_error_code.Z3_OK)
02986                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02987             return r;
02988         }
02989 
02990         public static Z3_func_decl Z3_get_tuple_sort_mk_decl(Z3_context a0, Z3_sort a1) {
02991             Z3_func_decl r = LIB.Z3_get_tuple_sort_mk_decl(a0, a1);
02992             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
02993             if (err != Z3_error_code.Z3_OK)
02994                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
02995             return r;
02996         }
02997 
02998         public static uint Z3_get_tuple_sort_num_fields(Z3_context a0, Z3_sort a1) {
02999             uint r = LIB.Z3_get_tuple_sort_num_fields(a0, a1);
03000             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03001             if (err != Z3_error_code.Z3_OK)
03002                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03003             return r;
03004         }
03005 
03006         public static Z3_func_decl Z3_get_tuple_sort_field_decl(Z3_context a0, Z3_sort a1, uint a2) {
03007             Z3_func_decl r = LIB.Z3_get_tuple_sort_field_decl(a0, a1, a2);
03008             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03009             if (err != Z3_error_code.Z3_OK)
03010                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03011             return r;
03012         }
03013 
03014         public static uint Z3_get_datatype_sort_num_constructors(Z3_context a0, Z3_sort a1) {
03015             uint r = LIB.Z3_get_datatype_sort_num_constructors(a0, a1);
03016             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03017             if (err != Z3_error_code.Z3_OK)
03018                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03019             return r;
03020         }
03021 
03022         public static Z3_func_decl Z3_get_datatype_sort_constructor(Z3_context a0, Z3_sort a1, uint a2) {
03023             Z3_func_decl r = LIB.Z3_get_datatype_sort_constructor(a0, a1, a2);
03024             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03025             if (err != Z3_error_code.Z3_OK)
03026                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03027             return r;
03028         }
03029 
03030         public static Z3_func_decl Z3_get_datatype_sort_recognizer(Z3_context a0, Z3_sort a1, uint a2) {
03031             Z3_func_decl r = LIB.Z3_get_datatype_sort_recognizer(a0, a1, a2);
03032             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03033             if (err != Z3_error_code.Z3_OK)
03034                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03035             return r;
03036         }
03037 
03038         public static Z3_func_decl Z3_get_datatype_sort_constructor_accessor(Z3_context a0, Z3_sort a1, uint a2, uint a3) {
03039             Z3_func_decl r = LIB.Z3_get_datatype_sort_constructor_accessor(a0, a1, a2, a3);
03040             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03041             if (err != Z3_error_code.Z3_OK)
03042                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03043             return r;
03044         }
03045 
03046         public static uint Z3_get_relation_arity(Z3_context a0, Z3_sort a1) {
03047             uint r = LIB.Z3_get_relation_arity(a0, a1);
03048             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03049             if (err != Z3_error_code.Z3_OK)
03050                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03051             return r;
03052         }
03053 
03054         public static Z3_sort Z3_get_relation_column(Z3_context a0, Z3_sort a1, uint a2) {
03055             Z3_sort r = LIB.Z3_get_relation_column(a0, a1, a2);
03056             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03057             if (err != Z3_error_code.Z3_OK)
03058                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03059             return r;
03060         }
03061 
03062         public static Z3_ast Z3_func_decl_to_ast(Z3_context a0, Z3_func_decl a1) {
03063             Z3_ast r = LIB.Z3_func_decl_to_ast(a0, a1);
03064             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03065             if (err != Z3_error_code.Z3_OK)
03066                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03067             return r;
03068         }
03069 
03070         public static int Z3_is_eq_func_decl(Z3_context a0, Z3_func_decl a1, Z3_func_decl a2) {
03071             int r = LIB.Z3_is_eq_func_decl(a0, a1, a2);
03072             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03073             if (err != Z3_error_code.Z3_OK)
03074                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03075             return r;
03076         }
03077 
03078         public static uint Z3_get_func_decl_id(Z3_context a0, Z3_func_decl a1) {
03079             uint r = LIB.Z3_get_func_decl_id(a0, a1);
03080             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03081             if (err != Z3_error_code.Z3_OK)
03082                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03083             return r;
03084         }
03085 
03086         public static IntPtr Z3_get_decl_name(Z3_context a0, Z3_func_decl a1) {
03087             IntPtr r = LIB.Z3_get_decl_name(a0, a1);
03088             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03089             if (err != Z3_error_code.Z3_OK)
03090                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03091             return r;
03092         }
03093 
03094         public static uint Z3_get_decl_kind(Z3_context a0, Z3_func_decl a1) {
03095             uint r = LIB.Z3_get_decl_kind(a0, a1);
03096             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03097             if (err != Z3_error_code.Z3_OK)
03098                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03099             return r;
03100         }
03101 
03102         public static uint Z3_get_domain_size(Z3_context a0, Z3_func_decl a1) {
03103             uint r = LIB.Z3_get_domain_size(a0, a1);
03104             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03105             if (err != Z3_error_code.Z3_OK)
03106                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03107             return r;
03108         }
03109 
03110         public static uint Z3_get_arity(Z3_context a0, Z3_func_decl a1) {
03111             uint r = LIB.Z3_get_arity(a0, a1);
03112             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03113             if (err != Z3_error_code.Z3_OK)
03114                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03115             return r;
03116         }
03117 
03118         public static Z3_sort Z3_get_domain(Z3_context a0, Z3_func_decl a1, uint a2) {
03119             Z3_sort r = LIB.Z3_get_domain(a0, a1, a2);
03120             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03121             if (err != Z3_error_code.Z3_OK)
03122                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03123             return r;
03124         }
03125 
03126         public static Z3_sort Z3_get_range(Z3_context a0, Z3_func_decl a1) {
03127             Z3_sort r = LIB.Z3_get_range(a0, a1);
03128             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03129             if (err != Z3_error_code.Z3_OK)
03130                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03131             return r;
03132         }
03133 
03134         public static uint Z3_get_decl_num_parameters(Z3_context a0, Z3_func_decl a1) {
03135             uint r = LIB.Z3_get_decl_num_parameters(a0, a1);
03136             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03137             if (err != Z3_error_code.Z3_OK)
03138                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03139             return r;
03140         }
03141 
03142         public static uint Z3_get_decl_parameter_kind(Z3_context a0, Z3_func_decl a1, uint a2) {
03143             uint r = LIB.Z3_get_decl_parameter_kind(a0, a1, a2);
03144             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03145             if (err != Z3_error_code.Z3_OK)
03146                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03147             return r;
03148         }
03149 
03150         public static int Z3_get_decl_int_parameter(Z3_context a0, Z3_func_decl a1, uint a2) {
03151             int r = LIB.Z3_get_decl_int_parameter(a0, a1, a2);
03152             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03153             if (err != Z3_error_code.Z3_OK)
03154                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03155             return r;
03156         }
03157 
03158         public static double Z3_get_decl_double_parameter(Z3_context a0, Z3_func_decl a1, uint a2) {
03159             double r = LIB.Z3_get_decl_double_parameter(a0, a1, a2);
03160             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03161             if (err != Z3_error_code.Z3_OK)
03162                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03163             return r;
03164         }
03165 
03166         public static IntPtr Z3_get_decl_symbol_parameter(Z3_context a0, Z3_func_decl a1, uint a2) {
03167             IntPtr r = LIB.Z3_get_decl_symbol_parameter(a0, a1, a2);
03168             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03169             if (err != Z3_error_code.Z3_OK)
03170                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03171             return r;
03172         }
03173 
03174         public static Z3_sort Z3_get_decl_sort_parameter(Z3_context a0, Z3_func_decl a1, uint a2) {
03175             Z3_sort r = LIB.Z3_get_decl_sort_parameter(a0, a1, a2);
03176             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03177             if (err != Z3_error_code.Z3_OK)
03178                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03179             return r;
03180         }
03181 
03182         public static Z3_ast Z3_get_decl_ast_parameter(Z3_context a0, Z3_func_decl a1, uint a2) {
03183             Z3_ast r = LIB.Z3_get_decl_ast_parameter(a0, a1, a2);
03184             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03185             if (err != Z3_error_code.Z3_OK)
03186                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03187             return r;
03188         }
03189 
03190         public static Z3_func_decl Z3_get_decl_func_decl_parameter(Z3_context a0, Z3_func_decl a1, uint a2) {
03191             Z3_func_decl r = LIB.Z3_get_decl_func_decl_parameter(a0, a1, a2);
03192             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03193             if (err != Z3_error_code.Z3_OK)
03194                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03195             return r;
03196         }
03197 
03198         public static string Z3_get_decl_rational_parameter(Z3_context a0, Z3_func_decl a1, uint a2) {
03199             IntPtr r = LIB.Z3_get_decl_rational_parameter(a0, a1, a2);
03200             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03201             if (err != Z3_error_code.Z3_OK)
03202                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03203             return Marshal.PtrToStringAnsi(r);
03204         }
03205 
03206         public static Z3_ast Z3_app_to_ast(Z3_context a0, Z3_app a1) {
03207             Z3_ast r = LIB.Z3_app_to_ast(a0, a1);
03208             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03209             if (err != Z3_error_code.Z3_OK)
03210                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03211             return r;
03212         }
03213 
03214         public static Z3_func_decl Z3_get_app_decl(Z3_context a0, Z3_app a1) {
03215             Z3_func_decl r = LIB.Z3_get_app_decl(a0, a1);
03216             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03217             if (err != Z3_error_code.Z3_OK)
03218                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03219             return r;
03220         }
03221 
03222         public static uint Z3_get_app_num_args(Z3_context a0, Z3_app a1) {
03223             uint r = LIB.Z3_get_app_num_args(a0, a1);
03224             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03225             if (err != Z3_error_code.Z3_OK)
03226                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03227             return r;
03228         }
03229 
03230         public static Z3_ast Z3_get_app_arg(Z3_context a0, Z3_app a1, uint a2) {
03231             Z3_ast r = LIB.Z3_get_app_arg(a0, a1, a2);
03232             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03233             if (err != Z3_error_code.Z3_OK)
03234                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03235             return r;
03236         }
03237 
03238         public static int Z3_is_eq_ast(Z3_context a0, Z3_ast a1, Z3_ast a2) {
03239             int r = LIB.Z3_is_eq_ast(a0, a1, a2);
03240             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03241             if (err != Z3_error_code.Z3_OK)
03242                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03243             return r;
03244         }
03245 
03246         public static uint Z3_get_ast_id(Z3_context a0, Z3_ast a1) {
03247             uint r = LIB.Z3_get_ast_id(a0, a1);
03248             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03249             if (err != Z3_error_code.Z3_OK)
03250                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03251             return r;
03252         }
03253 
03254         public static uint Z3_get_ast_hash(Z3_context a0, Z3_ast a1) {
03255             uint r = LIB.Z3_get_ast_hash(a0, a1);
03256             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03257             if (err != Z3_error_code.Z3_OK)
03258                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03259             return r;
03260         }
03261 
03262         public static Z3_sort Z3_get_sort(Z3_context a0, Z3_ast a1) {
03263             Z3_sort r = LIB.Z3_get_sort(a0, a1);
03264             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03265             if (err != Z3_error_code.Z3_OK)
03266                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03267             return r;
03268         }
03269 
03270         public static int Z3_is_well_sorted(Z3_context a0, Z3_ast a1) {
03271             int r = LIB.Z3_is_well_sorted(a0, a1);
03272             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03273             if (err != Z3_error_code.Z3_OK)
03274                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03275             return r;
03276         }
03277 
03278         public static uint Z3_get_bool_value(Z3_context a0, Z3_ast a1) {
03279             uint r = LIB.Z3_get_bool_value(a0, a1);
03280             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03281             if (err != Z3_error_code.Z3_OK)
03282                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03283             return r;
03284         }
03285 
03286         public static uint Z3_get_ast_kind(Z3_context a0, Z3_ast a1) {
03287             uint r = LIB.Z3_get_ast_kind(a0, a1);
03288             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03289             if (err != Z3_error_code.Z3_OK)
03290                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03291             return r;
03292         }
03293 
03294         public static int Z3_is_app(Z3_context a0, Z3_ast a1) {
03295             int r = LIB.Z3_is_app(a0, a1);
03296             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03297             if (err != Z3_error_code.Z3_OK)
03298                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03299             return r;
03300         }
03301 
03302         public static int Z3_is_numeral_ast(Z3_context a0, Z3_ast a1) {
03303             int r = LIB.Z3_is_numeral_ast(a0, a1);
03304             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03305             if (err != Z3_error_code.Z3_OK)
03306                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03307             return r;
03308         }
03309 
03310         public static int Z3_is_algebraic_number(Z3_context a0, Z3_ast a1) {
03311             int r = LIB.Z3_is_algebraic_number(a0, a1);
03312             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03313             if (err != Z3_error_code.Z3_OK)
03314                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03315             return r;
03316         }
03317 
03318         public static Z3_app Z3_to_app(Z3_context a0, Z3_ast a1) {
03319             Z3_app r = LIB.Z3_to_app(a0, a1);
03320             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03321             if (err != Z3_error_code.Z3_OK)
03322                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03323             return r;
03324         }
03325 
03326         public static Z3_func_decl Z3_to_func_decl(Z3_context a0, Z3_ast a1) {
03327             Z3_func_decl r = LIB.Z3_to_func_decl(a0, a1);
03328             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03329             if (err != Z3_error_code.Z3_OK)
03330                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03331             return r;
03332         }
03333 
03334         public static string Z3_get_numeral_string(Z3_context a0, Z3_ast a1) {
03335             IntPtr r = LIB.Z3_get_numeral_string(a0, a1);
03336             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03337             if (err != Z3_error_code.Z3_OK)
03338                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03339             return Marshal.PtrToStringAnsi(r);
03340         }
03341 
03342         public static string Z3_get_numeral_decimal_string(Z3_context a0, Z3_ast a1, uint a2) {
03343             IntPtr r = LIB.Z3_get_numeral_decimal_string(a0, a1, a2);
03344             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03345             if (err != Z3_error_code.Z3_OK)
03346                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03347             return Marshal.PtrToStringAnsi(r);
03348         }
03349 
03350         public static Z3_ast Z3_get_numerator(Z3_context a0, Z3_ast a1) {
03351             Z3_ast r = LIB.Z3_get_numerator(a0, a1);
03352             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03353             if (err != Z3_error_code.Z3_OK)
03354                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03355             return r;
03356         }
03357 
03358         public static Z3_ast Z3_get_denominator(Z3_context a0, Z3_ast a1) {
03359             Z3_ast r = LIB.Z3_get_denominator(a0, a1);
03360             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03361             if (err != Z3_error_code.Z3_OK)
03362                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03363             return r;
03364         }
03365 
03366         public static int Z3_get_numeral_small(Z3_context a0, Z3_ast a1, [In, Out] ref Int64 a2, [In, Out] ref Int64 a3) {
03367             int r = LIB.Z3_get_numeral_small(a0, a1, ref a2, ref a3);
03368             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03369             if (err != Z3_error_code.Z3_OK)
03370                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03371             return r;
03372         }
03373 
03374         public static int Z3_get_numeral_int(Z3_context a0, Z3_ast a1, [In, Out] ref int a2) {
03375             int r = LIB.Z3_get_numeral_int(a0, a1, ref a2);
03376             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03377             if (err != Z3_error_code.Z3_OK)
03378                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03379             return r;
03380         }
03381 
03382         public static int Z3_get_numeral_uint(Z3_context a0, Z3_ast a1, [In, Out] ref uint a2) {
03383             int r = LIB.Z3_get_numeral_uint(a0, a1, ref a2);
03384             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03385             if (err != Z3_error_code.Z3_OK)
03386                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03387             return r;
03388         }
03389 
03390         public static int Z3_get_numeral_uint64(Z3_context a0, Z3_ast a1, [In, Out] ref UInt64 a2) {
03391             int r = LIB.Z3_get_numeral_uint64(a0, a1, ref a2);
03392             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03393             if (err != Z3_error_code.Z3_OK)
03394                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03395             return r;
03396         }
03397 
03398         public static int Z3_get_numeral_int64(Z3_context a0, Z3_ast a1, [In, Out] ref Int64 a2) {
03399             int r = LIB.Z3_get_numeral_int64(a0, a1, ref a2);
03400             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03401             if (err != Z3_error_code.Z3_OK)
03402                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03403             return r;
03404         }
03405 
03406         public static int Z3_get_numeral_rational_int64(Z3_context a0, Z3_ast a1, [In, Out] ref Int64 a2, [In, Out] ref Int64 a3) {
03407             int r = LIB.Z3_get_numeral_rational_int64(a0, a1, ref a2, ref a3);
03408             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03409             if (err != Z3_error_code.Z3_OK)
03410                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03411             return r;
03412         }
03413 
03414         public static Z3_ast Z3_get_algebraic_number_lower(Z3_context a0, Z3_ast a1, uint a2) {
03415             Z3_ast r = LIB.Z3_get_algebraic_number_lower(a0, a1, a2);
03416             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03417             if (err != Z3_error_code.Z3_OK)
03418                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03419             return r;
03420         }
03421 
03422         public static Z3_ast Z3_get_algebraic_number_upper(Z3_context a0, Z3_ast a1, uint a2) {
03423             Z3_ast r = LIB.Z3_get_algebraic_number_upper(a0, a1, a2);
03424             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03425             if (err != Z3_error_code.Z3_OK)
03426                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03427             return r;
03428         }
03429 
03430         public static Z3_ast Z3_pattern_to_ast(Z3_context a0, Z3_pattern a1) {
03431             Z3_ast r = LIB.Z3_pattern_to_ast(a0, a1);
03432             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03433             if (err != Z3_error_code.Z3_OK)
03434                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03435             return r;
03436         }
03437 
03438         public static uint Z3_get_pattern_num_terms(Z3_context a0, Z3_pattern a1) {
03439             uint r = LIB.Z3_get_pattern_num_terms(a0, a1);
03440             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03441             if (err != Z3_error_code.Z3_OK)
03442                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03443             return r;
03444         }
03445 
03446         public static Z3_ast Z3_get_pattern(Z3_context a0, Z3_pattern a1, uint a2) {
03447             Z3_ast r = LIB.Z3_get_pattern(a0, a1, a2);
03448             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03449             if (err != Z3_error_code.Z3_OK)
03450                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03451             return r;
03452         }
03453 
03454         public static uint Z3_get_index_value(Z3_context a0, Z3_ast a1) {
03455             uint r = LIB.Z3_get_index_value(a0, a1);
03456             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03457             if (err != Z3_error_code.Z3_OK)
03458                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03459             return r;
03460         }
03461 
03462         public static int Z3_is_quantifier_forall(Z3_context a0, Z3_ast a1) {
03463             int r = LIB.Z3_is_quantifier_forall(a0, a1);
03464             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03465             if (err != Z3_error_code.Z3_OK)
03466                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03467             return r;
03468         }
03469 
03470         public static uint Z3_get_quantifier_weight(Z3_context a0, Z3_ast a1) {
03471             uint r = LIB.Z3_get_quantifier_weight(a0, a1);
03472             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03473             if (err != Z3_error_code.Z3_OK)
03474                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03475             return r;
03476         }
03477 
03478         public static uint Z3_get_quantifier_num_patterns(Z3_context a0, Z3_ast a1) {
03479             uint r = LIB.Z3_get_quantifier_num_patterns(a0, a1);
03480             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03481             if (err != Z3_error_code.Z3_OK)
03482                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03483             return r;
03484         }
03485 
03486         public static Z3_pattern Z3_get_quantifier_pattern_ast(Z3_context a0, Z3_ast a1, uint a2) {
03487             Z3_pattern r = LIB.Z3_get_quantifier_pattern_ast(a0, a1, a2);
03488             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03489             if (err != Z3_error_code.Z3_OK)
03490                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03491             return r;
03492         }
03493 
03494         public static uint Z3_get_quantifier_num_no_patterns(Z3_context a0, Z3_ast a1) {
03495             uint r = LIB.Z3_get_quantifier_num_no_patterns(a0, a1);
03496             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03497             if (err != Z3_error_code.Z3_OK)
03498                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03499             return r;
03500         }
03501 
03502         public static Z3_ast Z3_get_quantifier_no_pattern_ast(Z3_context a0, Z3_ast a1, uint a2) {
03503             Z3_ast r = LIB.Z3_get_quantifier_no_pattern_ast(a0, a1, a2);
03504             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03505             if (err != Z3_error_code.Z3_OK)
03506                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03507             return r;
03508         }
03509 
03510         public static uint Z3_get_quantifier_num_bound(Z3_context a0, Z3_ast a1) {
03511             uint r = LIB.Z3_get_quantifier_num_bound(a0, a1);
03512             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03513             if (err != Z3_error_code.Z3_OK)
03514                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03515             return r;
03516         }
03517 
03518         public static IntPtr Z3_get_quantifier_bound_name(Z3_context a0, Z3_ast a1, uint a2) {
03519             IntPtr r = LIB.Z3_get_quantifier_bound_name(a0, a1, a2);
03520             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03521             if (err != Z3_error_code.Z3_OK)
03522                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03523             return r;
03524         }
03525 
03526         public static Z3_sort Z3_get_quantifier_bound_sort(Z3_context a0, Z3_ast a1, uint a2) {
03527             Z3_sort r = LIB.Z3_get_quantifier_bound_sort(a0, a1, a2);
03528             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03529             if (err != Z3_error_code.Z3_OK)
03530                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03531             return r;
03532         }
03533 
03534         public static Z3_ast Z3_get_quantifier_body(Z3_context a0, Z3_ast a1) {
03535             Z3_ast r = LIB.Z3_get_quantifier_body(a0, a1);
03536             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03537             if (err != Z3_error_code.Z3_OK)
03538                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03539             return r;
03540         }
03541 
03542         public static Z3_ast Z3_simplify(Z3_context a0, Z3_ast a1) {
03543             Z3_ast r = LIB.Z3_simplify(a0, a1);
03544             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03545             if (err != Z3_error_code.Z3_OK)
03546                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03547             return r;
03548         }
03549 
03550         public static Z3_ast Z3_simplify_ex(Z3_context a0, Z3_ast a1, Z3_params a2) {
03551             Z3_ast r = LIB.Z3_simplify_ex(a0, a1, a2);
03552             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03553             if (err != Z3_error_code.Z3_OK)
03554                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03555             return r;
03556         }
03557 
03558         public static string Z3_simplify_get_help(Z3_context a0) {
03559             IntPtr r = LIB.Z3_simplify_get_help(a0);
03560             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03561             if (err != Z3_error_code.Z3_OK)
03562                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03563             return Marshal.PtrToStringAnsi(r);
03564         }
03565 
03566         public static Z3_param_descrs Z3_simplify_get_param_descrs(Z3_context a0) {
03567             Z3_param_descrs r = LIB.Z3_simplify_get_param_descrs(a0);
03568             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03569             if (err != Z3_error_code.Z3_OK)
03570                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03571             return r;
03572         }
03573 
03574         public static Z3_ast Z3_update_term(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3) {
03575             Z3_ast r = LIB.Z3_update_term(a0, a1, a2, a3);
03576             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03577             if (err != Z3_error_code.Z3_OK)
03578                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03579             return r;
03580         }
03581 
03582         public static Z3_ast Z3_substitute(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3, [In] Z3_ast[] a4) {
03583             Z3_ast r = LIB.Z3_substitute(a0, a1, a2, a3, a4);
03584             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03585             if (err != Z3_error_code.Z3_OK)
03586                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03587             return r;
03588         }
03589 
03590         public static Z3_ast Z3_substitute_vars(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3) {
03591             Z3_ast r = LIB.Z3_substitute_vars(a0, a1, a2, a3);
03592             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03593             if (err != Z3_error_code.Z3_OK)
03594                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03595             return r;
03596         }
03597 
03598         public static Z3_ast Z3_translate(Z3_context a0, Z3_ast a1, Z3_context a2) {
03599             Z3_ast r = LIB.Z3_translate(a0, a1, a2);
03600             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03601             if (err != Z3_error_code.Z3_OK)
03602                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03603             return r;
03604         }
03605 
03606         public static void Z3_model_inc_ref(Z3_context a0, Z3_model a1) {
03607             LIB.Z3_model_inc_ref(a0, a1);
03608             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03609             if (err != Z3_error_code.Z3_OK)
03610                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03611         }
03612 
03613         public static void Z3_model_dec_ref(Z3_context a0, Z3_model a1) {
03614             LIB.Z3_model_dec_ref(a0, a1);
03615             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03616             if (err != Z3_error_code.Z3_OK)
03617                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03618         }
03619 
03620         public static int Z3_model_eval(Z3_context a0, Z3_model a1, Z3_ast a2, int a3, [In, Out] ref Z3_ast a4) {
03621             int r = LIB.Z3_model_eval(a0, a1, a2, a3, ref a4);
03622             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03623             if (err != Z3_error_code.Z3_OK)
03624                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03625             return r;
03626         }
03627 
03628         public static Z3_ast Z3_model_get_const_interp(Z3_context a0, Z3_model a1, Z3_func_decl a2) {
03629             Z3_ast r = LIB.Z3_model_get_const_interp(a0, a1, a2);
03630             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03631             if (err != Z3_error_code.Z3_OK)
03632                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03633             return r;
03634         }
03635 
03636         public static int Z3_model_has_interp(Z3_context a0, Z3_model a1, Z3_func_decl a2) {
03637             int r = LIB.Z3_model_has_interp(a0, a1, a2);
03638             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03639             if (err != Z3_error_code.Z3_OK)
03640                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03641             return r;
03642         }
03643 
03644         public static Z3_func_interp Z3_model_get_func_interp(Z3_context a0, Z3_model a1, Z3_func_decl a2) {
03645             Z3_func_interp r = LIB.Z3_model_get_func_interp(a0, a1, a2);
03646             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03647             if (err != Z3_error_code.Z3_OK)
03648                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03649             return r;
03650         }
03651 
03652         public static uint Z3_model_get_num_consts(Z3_context a0, Z3_model a1) {
03653             uint r = LIB.Z3_model_get_num_consts(a0, a1);
03654             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03655             if (err != Z3_error_code.Z3_OK)
03656                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03657             return r;
03658         }
03659 
03660         public static Z3_func_decl Z3_model_get_const_decl(Z3_context a0, Z3_model a1, uint a2) {
03661             Z3_func_decl r = LIB.Z3_model_get_const_decl(a0, a1, a2);
03662             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03663             if (err != Z3_error_code.Z3_OK)
03664                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03665             return r;
03666         }
03667 
03668         public static uint Z3_model_get_num_funcs(Z3_context a0, Z3_model a1) {
03669             uint r = LIB.Z3_model_get_num_funcs(a0, a1);
03670             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03671             if (err != Z3_error_code.Z3_OK)
03672                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03673             return r;
03674         }
03675 
03676         public static Z3_func_decl Z3_model_get_func_decl(Z3_context a0, Z3_model a1, uint a2) {
03677             Z3_func_decl r = LIB.Z3_model_get_func_decl(a0, a1, a2);
03678             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03679             if (err != Z3_error_code.Z3_OK)
03680                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03681             return r;
03682         }
03683 
03684         public static uint Z3_model_get_num_sorts(Z3_context a0, Z3_model a1) {
03685             uint r = LIB.Z3_model_get_num_sorts(a0, a1);
03686             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03687             if (err != Z3_error_code.Z3_OK)
03688                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03689             return r;
03690         }
03691 
03692         public static Z3_sort Z3_model_get_sort(Z3_context a0, Z3_model a1, uint a2) {
03693             Z3_sort r = LIB.Z3_model_get_sort(a0, a1, a2);
03694             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03695             if (err != Z3_error_code.Z3_OK)
03696                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03697             return r;
03698         }
03699 
03700         public static Z3_ast_vector Z3_model_get_sort_universe(Z3_context a0, Z3_model a1, Z3_sort a2) {
03701             Z3_ast_vector r = LIB.Z3_model_get_sort_universe(a0, a1, a2);
03702             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03703             if (err != Z3_error_code.Z3_OK)
03704                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03705             return r;
03706         }
03707 
03708         public static int Z3_is_as_array(Z3_context a0, Z3_ast a1) {
03709             int r = LIB.Z3_is_as_array(a0, a1);
03710             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03711             if (err != Z3_error_code.Z3_OK)
03712                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03713             return r;
03714         }
03715 
03716         public static Z3_func_decl Z3_get_as_array_func_decl(Z3_context a0, Z3_ast a1) {
03717             Z3_func_decl r = LIB.Z3_get_as_array_func_decl(a0, a1);
03718             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03719             if (err != Z3_error_code.Z3_OK)
03720                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03721             return r;
03722         }
03723 
03724         public static void Z3_func_interp_inc_ref(Z3_context a0, Z3_func_interp a1) {
03725             LIB.Z3_func_interp_inc_ref(a0, a1);
03726             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03727             if (err != Z3_error_code.Z3_OK)
03728                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03729         }
03730 
03731         public static void Z3_func_interp_dec_ref(Z3_context a0, Z3_func_interp a1) {
03732             LIB.Z3_func_interp_dec_ref(a0, a1);
03733             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03734             if (err != Z3_error_code.Z3_OK)
03735                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03736         }
03737 
03738         public static uint Z3_func_interp_get_num_entries(Z3_context a0, Z3_func_interp a1) {
03739             uint r = LIB.Z3_func_interp_get_num_entries(a0, a1);
03740             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03741             if (err != Z3_error_code.Z3_OK)
03742                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03743             return r;
03744         }
03745 
03746         public static Z3_func_entry Z3_func_interp_get_entry(Z3_context a0, Z3_func_interp a1, uint a2) {
03747             Z3_func_entry r = LIB.Z3_func_interp_get_entry(a0, a1, a2);
03748             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03749             if (err != Z3_error_code.Z3_OK)
03750                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03751             return r;
03752         }
03753 
03754         public static Z3_ast Z3_func_interp_get_else(Z3_context a0, Z3_func_interp a1) {
03755             Z3_ast r = LIB.Z3_func_interp_get_else(a0, a1);
03756             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03757             if (err != Z3_error_code.Z3_OK)
03758                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03759             return r;
03760         }
03761 
03762         public static uint Z3_func_interp_get_arity(Z3_context a0, Z3_func_interp a1) {
03763             uint r = LIB.Z3_func_interp_get_arity(a0, a1);
03764             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03765             if (err != Z3_error_code.Z3_OK)
03766                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03767             return r;
03768         }
03769 
03770         public static void Z3_func_entry_inc_ref(Z3_context a0, Z3_func_entry a1) {
03771             LIB.Z3_func_entry_inc_ref(a0, a1);
03772             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03773             if (err != Z3_error_code.Z3_OK)
03774                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03775         }
03776 
03777         public static void Z3_func_entry_dec_ref(Z3_context a0, Z3_func_entry a1) {
03778             LIB.Z3_func_entry_dec_ref(a0, a1);
03779             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03780             if (err != Z3_error_code.Z3_OK)
03781                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03782         }
03783 
03784         public static Z3_ast Z3_func_entry_get_value(Z3_context a0, Z3_func_entry a1) {
03785             Z3_ast r = LIB.Z3_func_entry_get_value(a0, a1);
03786             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03787             if (err != Z3_error_code.Z3_OK)
03788                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03789             return r;
03790         }
03791 
03792         public static uint Z3_func_entry_get_num_args(Z3_context a0, Z3_func_entry a1) {
03793             uint r = LIB.Z3_func_entry_get_num_args(a0, a1);
03794             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03795             if (err != Z3_error_code.Z3_OK)
03796                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03797             return r;
03798         }
03799 
03800         public static Z3_ast Z3_func_entry_get_arg(Z3_context a0, Z3_func_entry a1, uint a2) {
03801             Z3_ast r = LIB.Z3_func_entry_get_arg(a0, a1, a2);
03802             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03803             if (err != Z3_error_code.Z3_OK)
03804                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03805             return r;
03806         }
03807 
03808         public static int Z3_open_log(string a0) {
03809             int r = LIB.Z3_open_log(a0);
03810             return r;
03811         }
03812 
03813         public static void Z3_append_log(string a0) {
03814             LIB.Z3_append_log(a0);
03815         }
03816 
03817         public static void Z3_close_log() {
03818             LIB.Z3_close_log();
03819         }
03820 
03821         public static void Z3_toggle_warning_messages(int a0) {
03822             LIB.Z3_toggle_warning_messages(a0);
03823         }
03824 
03825         public static void Z3_set_ast_print_mode(Z3_context a0, uint a1) {
03826             LIB.Z3_set_ast_print_mode(a0, a1);
03827             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03828             if (err != Z3_error_code.Z3_OK)
03829                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03830         }
03831 
03832         public static string Z3_ast_to_string(Z3_context a0, Z3_ast a1) {
03833             IntPtr r = LIB.Z3_ast_to_string(a0, a1);
03834             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03835             if (err != Z3_error_code.Z3_OK)
03836                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03837             return Marshal.PtrToStringAnsi(r);
03838         }
03839 
03840         public static string Z3_pattern_to_string(Z3_context a0, Z3_pattern a1) {
03841             IntPtr r = LIB.Z3_pattern_to_string(a0, a1);
03842             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03843             if (err != Z3_error_code.Z3_OK)
03844                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03845             return Marshal.PtrToStringAnsi(r);
03846         }
03847 
03848         public static string Z3_sort_to_string(Z3_context a0, Z3_sort a1) {
03849             IntPtr r = LIB.Z3_sort_to_string(a0, a1);
03850             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03851             if (err != Z3_error_code.Z3_OK)
03852                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03853             return Marshal.PtrToStringAnsi(r);
03854         }
03855 
03856         public static string Z3_func_decl_to_string(Z3_context a0, Z3_func_decl a1) {
03857             IntPtr r = LIB.Z3_func_decl_to_string(a0, a1);
03858             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03859             if (err != Z3_error_code.Z3_OK)
03860                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03861             return Marshal.PtrToStringAnsi(r);
03862         }
03863 
03864         public static string Z3_model_to_string(Z3_context a0, Z3_model a1) {
03865             IntPtr r = LIB.Z3_model_to_string(a0, a1);
03866             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03867             if (err != Z3_error_code.Z3_OK)
03868                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03869             return Marshal.PtrToStringAnsi(r);
03870         }
03871 
03872         public static string Z3_benchmark_to_smtlib_string(Z3_context a0, string a1, string a2, string a3, string a4, uint a5, [In] Z3_ast[] a6, Z3_ast a7) {
03873             IntPtr r = LIB.Z3_benchmark_to_smtlib_string(a0, a1, a2, a3, a4, a5, a6, a7);
03874             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03875             if (err != Z3_error_code.Z3_OK)
03876                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03877             return Marshal.PtrToStringAnsi(r);
03878         }
03879 
03880         public static Z3_ast Z3_parse_smtlib2_string(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7) {
03881             Z3_ast r = LIB.Z3_parse_smtlib2_string(a0, a1, a2, a3, a4, a5, a6, a7);
03882             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03883             if (err != Z3_error_code.Z3_OK)
03884                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03885             return r;
03886         }
03887 
03888         public static Z3_ast Z3_parse_smtlib2_file(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7) {
03889             Z3_ast r = LIB.Z3_parse_smtlib2_file(a0, a1, a2, a3, a4, a5, a6, a7);
03890             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03891             if (err != Z3_error_code.Z3_OK)
03892                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03893             return r;
03894         }
03895 
03896         public static void Z3_parse_smtlib_string(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7) {
03897             LIB.Z3_parse_smtlib_string(a0, a1, a2, a3, a4, a5, a6, a7);
03898             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03899             if (err != Z3_error_code.Z3_OK)
03900                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03901         }
03902 
03903         public static void Z3_parse_smtlib_file(Z3_context a0, string a1, uint a2, [In] IntPtr[] a3, [In] Z3_sort[] a4, uint a5, [In] IntPtr[] a6, [In] Z3_func_decl[] a7) {
03904             LIB.Z3_parse_smtlib_file(a0, a1, a2, a3, a4, a5, a6, a7);
03905             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03906             if (err != Z3_error_code.Z3_OK)
03907                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03908         }
03909 
03910         public static uint Z3_get_smtlib_num_formulas(Z3_context a0) {
03911             uint r = LIB.Z3_get_smtlib_num_formulas(a0);
03912             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03913             if (err != Z3_error_code.Z3_OK)
03914                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03915             return r;
03916         }
03917 
03918         public static Z3_ast Z3_get_smtlib_formula(Z3_context a0, uint a1) {
03919             Z3_ast r = LIB.Z3_get_smtlib_formula(a0, a1);
03920             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03921             if (err != Z3_error_code.Z3_OK)
03922                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03923             return r;
03924         }
03925 
03926         public static uint Z3_get_smtlib_num_assumptions(Z3_context a0) {
03927             uint r = LIB.Z3_get_smtlib_num_assumptions(a0);
03928             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03929             if (err != Z3_error_code.Z3_OK)
03930                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03931             return r;
03932         }
03933 
03934         public static Z3_ast Z3_get_smtlib_assumption(Z3_context a0, uint a1) {
03935             Z3_ast r = LIB.Z3_get_smtlib_assumption(a0, a1);
03936             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03937             if (err != Z3_error_code.Z3_OK)
03938                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03939             return r;
03940         }
03941 
03942         public static uint Z3_get_smtlib_num_decls(Z3_context a0) {
03943             uint r = LIB.Z3_get_smtlib_num_decls(a0);
03944             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03945             if (err != Z3_error_code.Z3_OK)
03946                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03947             return r;
03948         }
03949 
03950         public static Z3_func_decl Z3_get_smtlib_decl(Z3_context a0, uint a1) {
03951             Z3_func_decl r = LIB.Z3_get_smtlib_decl(a0, a1);
03952             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03953             if (err != Z3_error_code.Z3_OK)
03954                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03955             return r;
03956         }
03957 
03958         public static uint Z3_get_smtlib_num_sorts(Z3_context a0) {
03959             uint r = LIB.Z3_get_smtlib_num_sorts(a0);
03960             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03961             if (err != Z3_error_code.Z3_OK)
03962                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03963             return r;
03964         }
03965 
03966         public static Z3_sort Z3_get_smtlib_sort(Z3_context a0, uint a1) {
03967             Z3_sort r = LIB.Z3_get_smtlib_sort(a0, a1);
03968             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03969             if (err != Z3_error_code.Z3_OK)
03970                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03971             return r;
03972         }
03973 
03974         public static string Z3_get_smtlib_error(Z3_context a0) {
03975             IntPtr r = LIB.Z3_get_smtlib_error(a0);
03976             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03977             if (err != Z3_error_code.Z3_OK)
03978                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03979             return Marshal.PtrToStringAnsi(r);
03980         }
03981 
03982         public static uint Z3_get_error_code(Z3_context a0) {
03983             uint r = LIB.Z3_get_error_code(a0);
03984             return r;
03985         }
03986 
03987         public static void Z3_set_error(Z3_context a0, uint a1) {
03988             LIB.Z3_set_error(a0, a1);
03989             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
03990             if (err != Z3_error_code.Z3_OK)
03991                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
03992         }
03993 
03994         public static string Z3_get_error_msg(uint a0) {
03995             IntPtr r = LIB.Z3_get_error_msg(a0);
03996             return Marshal.PtrToStringAnsi(r);
03997         }
03998 
03999         public static string Z3_get_error_msg_ex(Z3_context a0, uint a1) {
04000             IntPtr r = LIB.Z3_get_error_msg_ex(a0, a1);
04001             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04002             if (err != Z3_error_code.Z3_OK)
04003                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04004             return Marshal.PtrToStringAnsi(r);
04005         }
04006 
04007         public static void Z3_get_version([In, Out] ref uint a0, [In, Out] ref uint a1, [In, Out] ref uint a2, [In, Out] ref uint a3) {
04008             LIB.Z3_get_version(ref a0, ref a1, ref a2, ref a3);
04009         }
04010 
04011         public static void Z3_enable_trace(string a0) {
04012             LIB.Z3_enable_trace(a0);
04013         }
04014 
04015         public static void Z3_disable_trace(string a0) {
04016             LIB.Z3_disable_trace(a0);
04017         }
04018 
04019         public static void Z3_reset_memory() {
04020             LIB.Z3_reset_memory();
04021         }
04022 
04023         public static Z3_fixedpoint Z3_mk_fixedpoint(Z3_context a0) {
04024             Z3_fixedpoint r = LIB.Z3_mk_fixedpoint(a0);
04025             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04026             if (err != Z3_error_code.Z3_OK)
04027                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04028             return r;
04029         }
04030 
04031         public static void Z3_fixedpoint_inc_ref(Z3_context a0, Z3_fixedpoint a1) {
04032             LIB.Z3_fixedpoint_inc_ref(a0, a1);
04033             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04034             if (err != Z3_error_code.Z3_OK)
04035                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04036         }
04037 
04038         public static void Z3_fixedpoint_dec_ref(Z3_context a0, Z3_fixedpoint a1) {
04039             LIB.Z3_fixedpoint_dec_ref(a0, a1);
04040             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04041             if (err != Z3_error_code.Z3_OK)
04042                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04043         }
04044 
04045         public static void Z3_fixedpoint_add_rule(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2, IntPtr a3) {
04046             LIB.Z3_fixedpoint_add_rule(a0, a1, a2, a3);
04047             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04048             if (err != Z3_error_code.Z3_OK)
04049                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04050         }
04051 
04052         public static void Z3_fixedpoint_add_fact(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2, uint a3, [In] uint[] a4) {
04053             LIB.Z3_fixedpoint_add_fact(a0, a1, a2, a3, a4);
04054             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04055             if (err != Z3_error_code.Z3_OK)
04056                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04057         }
04058 
04059         public static void Z3_fixedpoint_assert(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2) {
04060             LIB.Z3_fixedpoint_assert(a0, a1, a2);
04061             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04062             if (err != Z3_error_code.Z3_OK)
04063                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04064         }
04065 
04066         public static int Z3_fixedpoint_query(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2) {
04067             int r = LIB.Z3_fixedpoint_query(a0, a1, a2);
04068             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04069             if (err != Z3_error_code.Z3_OK)
04070                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04071             return r;
04072         }
04073 
04074         public static int Z3_fixedpoint_query_relations(Z3_context a0, Z3_fixedpoint a1, uint a2, [In] Z3_func_decl[] a3) {
04075             int r = LIB.Z3_fixedpoint_query_relations(a0, a1, a2, a3);
04076             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04077             if (err != Z3_error_code.Z3_OK)
04078                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04079             return r;
04080         }
04081 
04082         public static Z3_ast Z3_fixedpoint_get_answer(Z3_context a0, Z3_fixedpoint a1) {
04083             Z3_ast r = LIB.Z3_fixedpoint_get_answer(a0, a1);
04084             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04085             if (err != Z3_error_code.Z3_OK)
04086                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04087             return r;
04088         }
04089 
04090         public static string Z3_fixedpoint_get_reason_unknown(Z3_context a0, Z3_fixedpoint a1) {
04091             IntPtr r = LIB.Z3_fixedpoint_get_reason_unknown(a0, a1);
04092             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04093             if (err != Z3_error_code.Z3_OK)
04094                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04095             return Marshal.PtrToStringAnsi(r);
04096         }
04097 
04098         public static void Z3_fixedpoint_update_rule(Z3_context a0, Z3_fixedpoint a1, Z3_ast a2, IntPtr a3) {
04099             LIB.Z3_fixedpoint_update_rule(a0, a1, a2, a3);
04100             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04101             if (err != Z3_error_code.Z3_OK)
04102                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04103         }
04104 
04105         public static uint Z3_fixedpoint_get_num_levels(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2) {
04106             uint r = LIB.Z3_fixedpoint_get_num_levels(a0, a1, a2);
04107             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04108             if (err != Z3_error_code.Z3_OK)
04109                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04110             return r;
04111         }
04112 
04113         public static Z3_ast Z3_fixedpoint_get_cover_delta(Z3_context a0, Z3_fixedpoint a1, int a2, Z3_func_decl a3) {
04114             Z3_ast r = LIB.Z3_fixedpoint_get_cover_delta(a0, a1, a2, a3);
04115             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04116             if (err != Z3_error_code.Z3_OK)
04117                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04118             return r;
04119         }
04120 
04121         public static void Z3_fixedpoint_add_cover(Z3_context a0, Z3_fixedpoint a1, int a2, Z3_func_decl a3, Z3_ast a4) {
04122             LIB.Z3_fixedpoint_add_cover(a0, a1, a2, a3, a4);
04123             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04124             if (err != Z3_error_code.Z3_OK)
04125                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04126         }
04127 
04128         public static Z3_stats Z3_fixedpoint_get_statistics(Z3_context a0, Z3_fixedpoint a1) {
04129             Z3_stats r = LIB.Z3_fixedpoint_get_statistics(a0, a1);
04130             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04131             if (err != Z3_error_code.Z3_OK)
04132                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04133             return r;
04134         }
04135 
04136         public static void Z3_fixedpoint_register_relation(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2) {
04137             LIB.Z3_fixedpoint_register_relation(a0, a1, a2);
04138             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04139             if (err != Z3_error_code.Z3_OK)
04140                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04141         }
04142 
04143         public static void Z3_fixedpoint_set_predicate_representation(Z3_context a0, Z3_fixedpoint a1, Z3_func_decl a2, uint a3, [In] IntPtr[] a4) {
04144             LIB.Z3_fixedpoint_set_predicate_representation(a0, a1, a2, a3, a4);
04145             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04146             if (err != Z3_error_code.Z3_OK)
04147                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04148         }
04149 
04150         public static Z3_ast_vector Z3_fixedpoint_get_rules(Z3_context a0, Z3_fixedpoint a1) {
04151             Z3_ast_vector r = LIB.Z3_fixedpoint_get_rules(a0, a1);
04152             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04153             if (err != Z3_error_code.Z3_OK)
04154                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04155             return r;
04156         }
04157 
04158         public static Z3_ast_vector Z3_fixedpoint_get_assertions(Z3_context a0, Z3_fixedpoint a1) {
04159             Z3_ast_vector r = LIB.Z3_fixedpoint_get_assertions(a0, a1);
04160             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04161             if (err != Z3_error_code.Z3_OK)
04162                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04163             return r;
04164         }
04165 
04166         public static void Z3_fixedpoint_set_params(Z3_context a0, Z3_fixedpoint a1, Z3_params a2) {
04167             LIB.Z3_fixedpoint_set_params(a0, a1, a2);
04168             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04169             if (err != Z3_error_code.Z3_OK)
04170                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04171         }
04172 
04173         public static string Z3_fixedpoint_get_help(Z3_context a0, Z3_fixedpoint a1) {
04174             IntPtr r = LIB.Z3_fixedpoint_get_help(a0, a1);
04175             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04176             if (err != Z3_error_code.Z3_OK)
04177                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04178             return Marshal.PtrToStringAnsi(r);
04179         }
04180 
04181         public static Z3_param_descrs Z3_fixedpoint_get_param_descrs(Z3_context a0, Z3_fixedpoint a1) {
04182             Z3_param_descrs r = LIB.Z3_fixedpoint_get_param_descrs(a0, a1);
04183             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04184             if (err != Z3_error_code.Z3_OK)
04185                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04186             return r;
04187         }
04188 
04189         public static string Z3_fixedpoint_to_string(Z3_context a0, Z3_fixedpoint a1, uint a2, [In] Z3_ast[] a3) {
04190             IntPtr r = LIB.Z3_fixedpoint_to_string(a0, a1, a2, a3);
04191             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04192             if (err != Z3_error_code.Z3_OK)
04193                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04194             return Marshal.PtrToStringAnsi(r);
04195         }
04196 
04197         public static Z3_ast_vector Z3_fixedpoint_from_string(Z3_context a0, Z3_fixedpoint a1, string a2) {
04198             Z3_ast_vector r = LIB.Z3_fixedpoint_from_string(a0, a1, a2);
04199             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04200             if (err != Z3_error_code.Z3_OK)
04201                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04202             return r;
04203         }
04204 
04205         public static Z3_ast_vector Z3_fixedpoint_from_file(Z3_context a0, Z3_fixedpoint a1, string a2) {
04206             Z3_ast_vector r = LIB.Z3_fixedpoint_from_file(a0, a1, a2);
04207             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04208             if (err != Z3_error_code.Z3_OK)
04209                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04210             return r;
04211         }
04212 
04213         public static void Z3_fixedpoint_push(Z3_context a0, Z3_fixedpoint a1) {
04214             LIB.Z3_fixedpoint_push(a0, a1);
04215             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04216             if (err != Z3_error_code.Z3_OK)
04217                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04218         }
04219 
04220         public static void Z3_fixedpoint_pop(Z3_context a0, Z3_fixedpoint a1) {
04221             LIB.Z3_fixedpoint_pop(a0, a1);
04222             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04223             if (err != Z3_error_code.Z3_OK)
04224                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04225         }
04226 
04227         public static Z3_ast_vector Z3_mk_ast_vector(Z3_context a0) {
04228             Z3_ast_vector r = LIB.Z3_mk_ast_vector(a0);
04229             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04230             if (err != Z3_error_code.Z3_OK)
04231                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04232             return r;
04233         }
04234 
04235         public static void Z3_ast_vector_inc_ref(Z3_context a0, Z3_ast_vector a1) {
04236             LIB.Z3_ast_vector_inc_ref(a0, a1);
04237             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04238             if (err != Z3_error_code.Z3_OK)
04239                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04240         }
04241 
04242         public static void Z3_ast_vector_dec_ref(Z3_context a0, Z3_ast_vector a1) {
04243             LIB.Z3_ast_vector_dec_ref(a0, a1);
04244             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04245             if (err != Z3_error_code.Z3_OK)
04246                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04247         }
04248 
04249         public static uint Z3_ast_vector_size(Z3_context a0, Z3_ast_vector a1) {
04250             uint r = LIB.Z3_ast_vector_size(a0, a1);
04251             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04252             if (err != Z3_error_code.Z3_OK)
04253                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04254             return r;
04255         }
04256 
04257         public static Z3_ast Z3_ast_vector_get(Z3_context a0, Z3_ast_vector a1, uint a2) {
04258             Z3_ast r = LIB.Z3_ast_vector_get(a0, a1, a2);
04259             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04260             if (err != Z3_error_code.Z3_OK)
04261                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04262             return r;
04263         }
04264 
04265         public static void Z3_ast_vector_set(Z3_context a0, Z3_ast_vector a1, uint a2, Z3_ast a3) {
04266             LIB.Z3_ast_vector_set(a0, a1, a2, a3);
04267             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04268             if (err != Z3_error_code.Z3_OK)
04269                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04270         }
04271 
04272         public static void Z3_ast_vector_resize(Z3_context a0, Z3_ast_vector a1, uint a2) {
04273             LIB.Z3_ast_vector_resize(a0, a1, a2);
04274             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04275             if (err != Z3_error_code.Z3_OK)
04276                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04277         }
04278 
04279         public static void Z3_ast_vector_push(Z3_context a0, Z3_ast_vector a1, Z3_ast a2) {
04280             LIB.Z3_ast_vector_push(a0, a1, a2);
04281             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04282             if (err != Z3_error_code.Z3_OK)
04283                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04284         }
04285 
04286         public static Z3_ast_vector Z3_ast_vector_translate(Z3_context a0, Z3_ast_vector a1, Z3_context a2) {
04287             Z3_ast_vector r = LIB.Z3_ast_vector_translate(a0, a1, a2);
04288             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04289             if (err != Z3_error_code.Z3_OK)
04290                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04291             return r;
04292         }
04293 
04294         public static string Z3_ast_vector_to_string(Z3_context a0, Z3_ast_vector a1) {
04295             IntPtr r = LIB.Z3_ast_vector_to_string(a0, a1);
04296             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04297             if (err != Z3_error_code.Z3_OK)
04298                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04299             return Marshal.PtrToStringAnsi(r);
04300         }
04301 
04302         public static Z3_ast_map Z3_mk_ast_map(Z3_context a0) {
04303             Z3_ast_map r = LIB.Z3_mk_ast_map(a0);
04304             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04305             if (err != Z3_error_code.Z3_OK)
04306                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04307             return r;
04308         }
04309 
04310         public static void Z3_ast_map_inc_ref(Z3_context a0, Z3_ast_map a1) {
04311             LIB.Z3_ast_map_inc_ref(a0, a1);
04312             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04313             if (err != Z3_error_code.Z3_OK)
04314                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04315         }
04316 
04317         public static void Z3_ast_map_dec_ref(Z3_context a0, Z3_ast_map a1) {
04318             LIB.Z3_ast_map_dec_ref(a0, a1);
04319             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04320             if (err != Z3_error_code.Z3_OK)
04321                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04322         }
04323 
04324         public static int Z3_ast_map_contains(Z3_context a0, Z3_ast_map a1, Z3_ast a2) {
04325             int r = LIB.Z3_ast_map_contains(a0, a1, a2);
04326             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04327             if (err != Z3_error_code.Z3_OK)
04328                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04329             return r;
04330         }
04331 
04332         public static Z3_ast Z3_ast_map_find(Z3_context a0, Z3_ast_map a1, Z3_ast a2) {
04333             Z3_ast r = LIB.Z3_ast_map_find(a0, a1, a2);
04334             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04335             if (err != Z3_error_code.Z3_OK)
04336                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04337             return r;
04338         }
04339 
04340         public static void Z3_ast_map_insert(Z3_context a0, Z3_ast_map a1, Z3_ast a2, Z3_ast a3) {
04341             LIB.Z3_ast_map_insert(a0, a1, a2, a3);
04342             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04343             if (err != Z3_error_code.Z3_OK)
04344                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04345         }
04346 
04347         public static void Z3_ast_map_erase(Z3_context a0, Z3_ast_map a1, Z3_ast a2) {
04348             LIB.Z3_ast_map_erase(a0, a1, a2);
04349             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04350             if (err != Z3_error_code.Z3_OK)
04351                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04352         }
04353 
04354         public static void Z3_ast_map_reset(Z3_context a0, Z3_ast_map a1) {
04355             LIB.Z3_ast_map_reset(a0, a1);
04356             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04357             if (err != Z3_error_code.Z3_OK)
04358                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04359         }
04360 
04361         public static uint Z3_ast_map_size(Z3_context a0, Z3_ast_map a1) {
04362             uint r = LIB.Z3_ast_map_size(a0, a1);
04363             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04364             if (err != Z3_error_code.Z3_OK)
04365                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04366             return r;
04367         }
04368 
04369         public static Z3_ast_vector Z3_ast_map_keys(Z3_context a0, Z3_ast_map a1) {
04370             Z3_ast_vector r = LIB.Z3_ast_map_keys(a0, a1);
04371             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04372             if (err != Z3_error_code.Z3_OK)
04373                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04374             return r;
04375         }
04376 
04377         public static string Z3_ast_map_to_string(Z3_context a0, Z3_ast_map a1) {
04378             IntPtr r = LIB.Z3_ast_map_to_string(a0, a1);
04379             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04380             if (err != Z3_error_code.Z3_OK)
04381                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04382             return Marshal.PtrToStringAnsi(r);
04383         }
04384 
04385         public static Z3_goal Z3_mk_goal(Z3_context a0, int a1, int a2, int a3) {
04386             Z3_goal r = LIB.Z3_mk_goal(a0, a1, a2, a3);
04387             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04388             if (err != Z3_error_code.Z3_OK)
04389                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04390             return r;
04391         }
04392 
04393         public static void Z3_goal_inc_ref(Z3_context a0, Z3_goal a1) {
04394             LIB.Z3_goal_inc_ref(a0, a1);
04395             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04396             if (err != Z3_error_code.Z3_OK)
04397                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04398         }
04399 
04400         public static void Z3_goal_dec_ref(Z3_context a0, Z3_goal a1) {
04401             LIB.Z3_goal_dec_ref(a0, a1);
04402             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04403             if (err != Z3_error_code.Z3_OK)
04404                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04405         }
04406 
04407         public static uint Z3_goal_precision(Z3_context a0, Z3_goal a1) {
04408             uint r = LIB.Z3_goal_precision(a0, a1);
04409             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04410             if (err != Z3_error_code.Z3_OK)
04411                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04412             return r;
04413         }
04414 
04415         public static void Z3_goal_assert(Z3_context a0, Z3_goal a1, Z3_ast a2) {
04416             LIB.Z3_goal_assert(a0, a1, a2);
04417             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04418             if (err != Z3_error_code.Z3_OK)
04419                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04420         }
04421 
04422         public static int Z3_goal_inconsistent(Z3_context a0, Z3_goal a1) {
04423             int r = LIB.Z3_goal_inconsistent(a0, a1);
04424             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04425             if (err != Z3_error_code.Z3_OK)
04426                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04427             return r;
04428         }
04429 
04430         public static uint Z3_goal_depth(Z3_context a0, Z3_goal a1) {
04431             uint r = LIB.Z3_goal_depth(a0, a1);
04432             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04433             if (err != Z3_error_code.Z3_OK)
04434                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04435             return r;
04436         }
04437 
04438         public static void Z3_goal_reset(Z3_context a0, Z3_goal a1) {
04439             LIB.Z3_goal_reset(a0, a1);
04440             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04441             if (err != Z3_error_code.Z3_OK)
04442                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04443         }
04444 
04445         public static uint Z3_goal_size(Z3_context a0, Z3_goal a1) {
04446             uint r = LIB.Z3_goal_size(a0, a1);
04447             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04448             if (err != Z3_error_code.Z3_OK)
04449                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04450             return r;
04451         }
04452 
04453         public static Z3_ast Z3_goal_formula(Z3_context a0, Z3_goal a1, uint a2) {
04454             Z3_ast r = LIB.Z3_goal_formula(a0, a1, a2);
04455             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04456             if (err != Z3_error_code.Z3_OK)
04457                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04458             return r;
04459         }
04460 
04461         public static uint Z3_goal_num_exprs(Z3_context a0, Z3_goal a1) {
04462             uint r = LIB.Z3_goal_num_exprs(a0, a1);
04463             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04464             if (err != Z3_error_code.Z3_OK)
04465                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04466             return r;
04467         }
04468 
04469         public static int Z3_goal_is_decided_sat(Z3_context a0, Z3_goal a1) {
04470             int r = LIB.Z3_goal_is_decided_sat(a0, a1);
04471             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04472             if (err != Z3_error_code.Z3_OK)
04473                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04474             return r;
04475         }
04476 
04477         public static int Z3_goal_is_decided_unsat(Z3_context a0, Z3_goal a1) {
04478             int r = LIB.Z3_goal_is_decided_unsat(a0, a1);
04479             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04480             if (err != Z3_error_code.Z3_OK)
04481                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04482             return r;
04483         }
04484 
04485         public static Z3_goal Z3_goal_translate(Z3_context a0, Z3_goal a1, Z3_context a2) {
04486             Z3_goal r = LIB.Z3_goal_translate(a0, a1, a2);
04487             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04488             if (err != Z3_error_code.Z3_OK)
04489                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04490             return r;
04491         }
04492 
04493         public static string Z3_goal_to_string(Z3_context a0, Z3_goal a1) {
04494             IntPtr r = LIB.Z3_goal_to_string(a0, a1);
04495             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04496             if (err != Z3_error_code.Z3_OK)
04497                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04498             return Marshal.PtrToStringAnsi(r);
04499         }
04500 
04501         public static Z3_tactic Z3_mk_tactic(Z3_context a0, string a1) {
04502             Z3_tactic r = LIB.Z3_mk_tactic(a0, a1);
04503             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04504             if (err != Z3_error_code.Z3_OK)
04505                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04506             return r;
04507         }
04508 
04509         public static void Z3_tactic_inc_ref(Z3_context a0, Z3_tactic a1) {
04510             LIB.Z3_tactic_inc_ref(a0, a1);
04511             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04512             if (err != Z3_error_code.Z3_OK)
04513                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04514         }
04515 
04516         public static void Z3_tactic_dec_ref(Z3_context a0, Z3_tactic a1) {
04517             LIB.Z3_tactic_dec_ref(a0, a1);
04518             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04519             if (err != Z3_error_code.Z3_OK)
04520                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04521         }
04522 
04523         public static Z3_probe Z3_mk_probe(Z3_context a0, string a1) {
04524             Z3_probe r = LIB.Z3_mk_probe(a0, a1);
04525             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04526             if (err != Z3_error_code.Z3_OK)
04527                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04528             return r;
04529         }
04530 
04531         public static void Z3_probe_inc_ref(Z3_context a0, Z3_probe a1) {
04532             LIB.Z3_probe_inc_ref(a0, a1);
04533             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04534             if (err != Z3_error_code.Z3_OK)
04535                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04536         }
04537 
04538         public static void Z3_probe_dec_ref(Z3_context a0, Z3_probe a1) {
04539             LIB.Z3_probe_dec_ref(a0, a1);
04540             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04541             if (err != Z3_error_code.Z3_OK)
04542                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04543         }
04544 
04545         public static Z3_tactic Z3_tactic_and_then(Z3_context a0, Z3_tactic a1, Z3_tactic a2) {
04546             Z3_tactic r = LIB.Z3_tactic_and_then(a0, a1, a2);
04547             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04548             if (err != Z3_error_code.Z3_OK)
04549                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04550             return r;
04551         }
04552 
04553         public static Z3_tactic Z3_tactic_or_else(Z3_context a0, Z3_tactic a1, Z3_tactic a2) {
04554             Z3_tactic r = LIB.Z3_tactic_or_else(a0, a1, a2);
04555             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04556             if (err != Z3_error_code.Z3_OK)
04557                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04558             return r;
04559         }
04560 
04561         public static Z3_tactic Z3_tactic_par_or(Z3_context a0, uint a1, [In] Z3_tactic[] a2) {
04562             Z3_tactic r = LIB.Z3_tactic_par_or(a0, a1, a2);
04563             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04564             if (err != Z3_error_code.Z3_OK)
04565                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04566             return r;
04567         }
04568 
04569         public static Z3_tactic Z3_tactic_par_and_then(Z3_context a0, Z3_tactic a1, Z3_tactic a2) {
04570             Z3_tactic r = LIB.Z3_tactic_par_and_then(a0, a1, a2);
04571             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04572             if (err != Z3_error_code.Z3_OK)
04573                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04574             return r;
04575         }
04576 
04577         public static Z3_tactic Z3_tactic_try_for(Z3_context a0, Z3_tactic a1, uint a2) {
04578             Z3_tactic r = LIB.Z3_tactic_try_for(a0, a1, a2);
04579             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04580             if (err != Z3_error_code.Z3_OK)
04581                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04582             return r;
04583         }
04584 
04585         public static Z3_tactic Z3_tactic_when(Z3_context a0, Z3_probe a1, Z3_tactic a2) {
04586             Z3_tactic r = LIB.Z3_tactic_when(a0, a1, a2);
04587             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04588             if (err != Z3_error_code.Z3_OK)
04589                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04590             return r;
04591         }
04592 
04593         public static Z3_tactic Z3_tactic_cond(Z3_context a0, Z3_probe a1, Z3_tactic a2, Z3_tactic a3) {
04594             Z3_tactic r = LIB.Z3_tactic_cond(a0, a1, a2, a3);
04595             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04596             if (err != Z3_error_code.Z3_OK)
04597                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04598             return r;
04599         }
04600 
04601         public static Z3_tactic Z3_tactic_repeat(Z3_context a0, Z3_tactic a1, uint a2) {
04602             Z3_tactic r = LIB.Z3_tactic_repeat(a0, a1, a2);
04603             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04604             if (err != Z3_error_code.Z3_OK)
04605                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04606             return r;
04607         }
04608 
04609         public static Z3_tactic Z3_tactic_skip(Z3_context a0) {
04610             Z3_tactic r = LIB.Z3_tactic_skip(a0);
04611             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04612             if (err != Z3_error_code.Z3_OK)
04613                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04614             return r;
04615         }
04616 
04617         public static Z3_tactic Z3_tactic_fail(Z3_context a0) {
04618             Z3_tactic r = LIB.Z3_tactic_fail(a0);
04619             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04620             if (err != Z3_error_code.Z3_OK)
04621                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04622             return r;
04623         }
04624 
04625         public static Z3_tactic Z3_tactic_fail_if(Z3_context a0, Z3_probe a1) {
04626             Z3_tactic r = LIB.Z3_tactic_fail_if(a0, a1);
04627             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04628             if (err != Z3_error_code.Z3_OK)
04629                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04630             return r;
04631         }
04632 
04633         public static Z3_tactic Z3_tactic_fail_if_not_decided(Z3_context a0) {
04634             Z3_tactic r = LIB.Z3_tactic_fail_if_not_decided(a0);
04635             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04636             if (err != Z3_error_code.Z3_OK)
04637                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04638             return r;
04639         }
04640 
04641         public static Z3_tactic Z3_tactic_using_params(Z3_context a0, Z3_tactic a1, Z3_params a2) {
04642             Z3_tactic r = LIB.Z3_tactic_using_params(a0, a1, a2);
04643             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04644             if (err != Z3_error_code.Z3_OK)
04645                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04646             return r;
04647         }
04648 
04649         public static Z3_probe Z3_probe_const(Z3_context a0, double a1) {
04650             Z3_probe r = LIB.Z3_probe_const(a0, a1);
04651             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04652             if (err != Z3_error_code.Z3_OK)
04653                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04654             return r;
04655         }
04656 
04657         public static Z3_probe Z3_probe_lt(Z3_context a0, Z3_probe a1, Z3_probe a2) {
04658             Z3_probe r = LIB.Z3_probe_lt(a0, a1, a2);
04659             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04660             if (err != Z3_error_code.Z3_OK)
04661                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04662             return r;
04663         }
04664 
04665         public static Z3_probe Z3_probe_gt(Z3_context a0, Z3_probe a1, Z3_probe a2) {
04666             Z3_probe r = LIB.Z3_probe_gt(a0, a1, a2);
04667             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04668             if (err != Z3_error_code.Z3_OK)
04669                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04670             return r;
04671         }
04672 
04673         public static Z3_probe Z3_probe_le(Z3_context a0, Z3_probe a1, Z3_probe a2) {
04674             Z3_probe r = LIB.Z3_probe_le(a0, a1, a2);
04675             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04676             if (err != Z3_error_code.Z3_OK)
04677                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04678             return r;
04679         }
04680 
04681         public static Z3_probe Z3_probe_ge(Z3_context a0, Z3_probe a1, Z3_probe a2) {
04682             Z3_probe r = LIB.Z3_probe_ge(a0, a1, a2);
04683             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04684             if (err != Z3_error_code.Z3_OK)
04685                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04686             return r;
04687         }
04688 
04689         public static Z3_probe Z3_probe_eq(Z3_context a0, Z3_probe a1, Z3_probe a2) {
04690             Z3_probe r = LIB.Z3_probe_eq(a0, a1, a2);
04691             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04692             if (err != Z3_error_code.Z3_OK)
04693                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04694             return r;
04695         }
04696 
04697         public static Z3_probe Z3_probe_and(Z3_context a0, Z3_probe a1, Z3_probe a2) {
04698             Z3_probe r = LIB.Z3_probe_and(a0, a1, a2);
04699             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04700             if (err != Z3_error_code.Z3_OK)
04701                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04702             return r;
04703         }
04704 
04705         public static Z3_probe Z3_probe_or(Z3_context a0, Z3_probe a1, Z3_probe a2) {
04706             Z3_probe r = LIB.Z3_probe_or(a0, a1, a2);
04707             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04708             if (err != Z3_error_code.Z3_OK)
04709                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04710             return r;
04711         }
04712 
04713         public static Z3_probe Z3_probe_not(Z3_context a0, Z3_probe a1) {
04714             Z3_probe r = LIB.Z3_probe_not(a0, a1);
04715             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04716             if (err != Z3_error_code.Z3_OK)
04717                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04718             return r;
04719         }
04720 
04721         public static uint Z3_get_num_tactics(Z3_context a0) {
04722             uint r = LIB.Z3_get_num_tactics(a0);
04723             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04724             if (err != Z3_error_code.Z3_OK)
04725                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04726             return r;
04727         }
04728 
04729         public static string Z3_get_tactic_name(Z3_context a0, uint a1) {
04730             IntPtr r = LIB.Z3_get_tactic_name(a0, a1);
04731             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04732             if (err != Z3_error_code.Z3_OK)
04733                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04734             return Marshal.PtrToStringAnsi(r);
04735         }
04736 
04737         public static uint Z3_get_num_probes(Z3_context a0) {
04738             uint r = LIB.Z3_get_num_probes(a0);
04739             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04740             if (err != Z3_error_code.Z3_OK)
04741                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04742             return r;
04743         }
04744 
04745         public static string Z3_get_probe_name(Z3_context a0, uint a1) {
04746             IntPtr r = LIB.Z3_get_probe_name(a0, a1);
04747             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04748             if (err != Z3_error_code.Z3_OK)
04749                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04750             return Marshal.PtrToStringAnsi(r);
04751         }
04752 
04753         public static string Z3_tactic_get_help(Z3_context a0, Z3_tactic a1) {
04754             IntPtr r = LIB.Z3_tactic_get_help(a0, a1);
04755             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04756             if (err != Z3_error_code.Z3_OK)
04757                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04758             return Marshal.PtrToStringAnsi(r);
04759         }
04760 
04761         public static Z3_param_descrs Z3_tactic_get_param_descrs(Z3_context a0, Z3_tactic a1) {
04762             Z3_param_descrs r = LIB.Z3_tactic_get_param_descrs(a0, a1);
04763             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04764             if (err != Z3_error_code.Z3_OK)
04765                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04766             return r;
04767         }
04768 
04769         public static string Z3_tactic_get_descr(Z3_context a0, string a1) {
04770             IntPtr r = LIB.Z3_tactic_get_descr(a0, a1);
04771             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04772             if (err != Z3_error_code.Z3_OK)
04773                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04774             return Marshal.PtrToStringAnsi(r);
04775         }
04776 
04777         public static string Z3_probe_get_descr(Z3_context a0, string a1) {
04778             IntPtr r = LIB.Z3_probe_get_descr(a0, a1);
04779             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04780             if (err != Z3_error_code.Z3_OK)
04781                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04782             return Marshal.PtrToStringAnsi(r);
04783         }
04784 
04785         public static double Z3_probe_apply(Z3_context a0, Z3_probe a1, Z3_goal a2) {
04786             double r = LIB.Z3_probe_apply(a0, a1, a2);
04787             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04788             if (err != Z3_error_code.Z3_OK)
04789                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04790             return r;
04791         }
04792 
04793         public static Z3_apply_result Z3_tactic_apply(Z3_context a0, Z3_tactic a1, Z3_goal a2) {
04794             Z3_apply_result r = LIB.Z3_tactic_apply(a0, a1, a2);
04795             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04796             if (err != Z3_error_code.Z3_OK)
04797                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04798             return r;
04799         }
04800 
04801         public static Z3_apply_result Z3_tactic_apply_ex(Z3_context a0, Z3_tactic a1, Z3_goal a2, Z3_params a3) {
04802             Z3_apply_result r = LIB.Z3_tactic_apply_ex(a0, a1, a2, a3);
04803             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04804             if (err != Z3_error_code.Z3_OK)
04805                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04806             return r;
04807         }
04808 
04809         public static void Z3_apply_result_inc_ref(Z3_context a0, Z3_apply_result a1) {
04810             LIB.Z3_apply_result_inc_ref(a0, a1);
04811             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04812             if (err != Z3_error_code.Z3_OK)
04813                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04814         }
04815 
04816         public static void Z3_apply_result_dec_ref(Z3_context a0, Z3_apply_result a1) {
04817             LIB.Z3_apply_result_dec_ref(a0, a1);
04818             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04819             if (err != Z3_error_code.Z3_OK)
04820                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04821         }
04822 
04823         public static string Z3_apply_result_to_string(Z3_context a0, Z3_apply_result a1) {
04824             IntPtr r = LIB.Z3_apply_result_to_string(a0, a1);
04825             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04826             if (err != Z3_error_code.Z3_OK)
04827                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04828             return Marshal.PtrToStringAnsi(r);
04829         }
04830 
04831         public static uint Z3_apply_result_get_num_subgoals(Z3_context a0, Z3_apply_result a1) {
04832             uint r = LIB.Z3_apply_result_get_num_subgoals(a0, a1);
04833             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04834             if (err != Z3_error_code.Z3_OK)
04835                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04836             return r;
04837         }
04838 
04839         public static Z3_goal Z3_apply_result_get_subgoal(Z3_context a0, Z3_apply_result a1, uint a2) {
04840             Z3_goal r = LIB.Z3_apply_result_get_subgoal(a0, a1, a2);
04841             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04842             if (err != Z3_error_code.Z3_OK)
04843                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04844             return r;
04845         }
04846 
04847         public static Z3_model Z3_apply_result_convert_model(Z3_context a0, Z3_apply_result a1, uint a2, Z3_model a3) {
04848             Z3_model r = LIB.Z3_apply_result_convert_model(a0, a1, a2, a3);
04849             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04850             if (err != Z3_error_code.Z3_OK)
04851                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04852             return r;
04853         }
04854 
04855         public static Z3_solver Z3_mk_solver(Z3_context a0) {
04856             Z3_solver r = LIB.Z3_mk_solver(a0);
04857             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04858             if (err != Z3_error_code.Z3_OK)
04859                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04860             return r;
04861         }
04862 
04863         public static Z3_solver Z3_mk_simple_solver(Z3_context a0) {
04864             Z3_solver r = LIB.Z3_mk_simple_solver(a0);
04865             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04866             if (err != Z3_error_code.Z3_OK)
04867                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04868             return r;
04869         }
04870 
04871         public static Z3_solver Z3_mk_solver_for_logic(Z3_context a0, IntPtr a1) {
04872             Z3_solver r = LIB.Z3_mk_solver_for_logic(a0, a1);
04873             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04874             if (err != Z3_error_code.Z3_OK)
04875                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04876             return r;
04877         }
04878 
04879         public static Z3_solver Z3_mk_solver_from_tactic(Z3_context a0, Z3_tactic a1) {
04880             Z3_solver r = LIB.Z3_mk_solver_from_tactic(a0, a1);
04881             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04882             if (err != Z3_error_code.Z3_OK)
04883                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04884             return r;
04885         }
04886 
04887         public static string Z3_solver_get_help(Z3_context a0, Z3_solver a1) {
04888             IntPtr r = LIB.Z3_solver_get_help(a0, a1);
04889             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04890             if (err != Z3_error_code.Z3_OK)
04891                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04892             return Marshal.PtrToStringAnsi(r);
04893         }
04894 
04895         public static Z3_param_descrs Z3_solver_get_param_descrs(Z3_context a0, Z3_solver a1) {
04896             Z3_param_descrs r = LIB.Z3_solver_get_param_descrs(a0, a1);
04897             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04898             if (err != Z3_error_code.Z3_OK)
04899                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04900             return r;
04901         }
04902 
04903         public static void Z3_solver_set_params(Z3_context a0, Z3_solver a1, Z3_params a2) {
04904             LIB.Z3_solver_set_params(a0, a1, a2);
04905             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04906             if (err != Z3_error_code.Z3_OK)
04907                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04908         }
04909 
04910         public static void Z3_solver_inc_ref(Z3_context a0, Z3_solver a1) {
04911             LIB.Z3_solver_inc_ref(a0, a1);
04912             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04913             if (err != Z3_error_code.Z3_OK)
04914                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04915         }
04916 
04917         public static void Z3_solver_dec_ref(Z3_context a0, Z3_solver a1) {
04918             LIB.Z3_solver_dec_ref(a0, a1);
04919             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04920             if (err != Z3_error_code.Z3_OK)
04921                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04922         }
04923 
04924         public static void Z3_solver_push(Z3_context a0, Z3_solver a1) {
04925             LIB.Z3_solver_push(a0, a1);
04926             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04927             if (err != Z3_error_code.Z3_OK)
04928                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04929         }
04930 
04931         public static void Z3_solver_pop(Z3_context a0, Z3_solver a1, uint a2) {
04932             LIB.Z3_solver_pop(a0, a1, a2);
04933             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04934             if (err != Z3_error_code.Z3_OK)
04935                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04936         }
04937 
04938         public static void Z3_solver_reset(Z3_context a0, Z3_solver a1) {
04939             LIB.Z3_solver_reset(a0, a1);
04940             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04941             if (err != Z3_error_code.Z3_OK)
04942                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04943         }
04944 
04945         public static uint Z3_solver_get_num_scopes(Z3_context a0, Z3_solver a1) {
04946             uint r = LIB.Z3_solver_get_num_scopes(a0, a1);
04947             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04948             if (err != Z3_error_code.Z3_OK)
04949                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04950             return r;
04951         }
04952 
04953         public static void Z3_solver_assert(Z3_context a0, Z3_solver a1, Z3_ast a2) {
04954             LIB.Z3_solver_assert(a0, a1, a2);
04955             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04956             if (err != Z3_error_code.Z3_OK)
04957                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04958         }
04959 
04960         public static void Z3_solver_assert_and_track(Z3_context a0, Z3_solver a1, Z3_ast a2, Z3_ast a3) {
04961             LIB.Z3_solver_assert_and_track(a0, a1, a2, a3);
04962             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04963             if (err != Z3_error_code.Z3_OK)
04964                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04965         }
04966 
04967         public static Z3_ast_vector Z3_solver_get_assertions(Z3_context a0, Z3_solver a1) {
04968             Z3_ast_vector r = LIB.Z3_solver_get_assertions(a0, a1);
04969             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04970             if (err != Z3_error_code.Z3_OK)
04971                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04972             return r;
04973         }
04974 
04975         public static int Z3_solver_check(Z3_context a0, Z3_solver a1) {
04976             int r = LIB.Z3_solver_check(a0, a1);
04977             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04978             if (err != Z3_error_code.Z3_OK)
04979                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04980             return r;
04981         }
04982 
04983         public static int Z3_solver_check_assumptions(Z3_context a0, Z3_solver a1, uint a2, [In] Z3_ast[] a3) {
04984             int r = LIB.Z3_solver_check_assumptions(a0, a1, a2, a3);
04985             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04986             if (err != Z3_error_code.Z3_OK)
04987                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04988             return r;
04989         }
04990 
04991         public static Z3_model Z3_solver_get_model(Z3_context a0, Z3_solver a1) {
04992             Z3_model r = LIB.Z3_solver_get_model(a0, a1);
04993             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
04994             if (err != Z3_error_code.Z3_OK)
04995                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
04996             return r;
04997         }
04998 
04999         public static Z3_ast Z3_solver_get_proof(Z3_context a0, Z3_solver a1) {
05000             Z3_ast r = LIB.Z3_solver_get_proof(a0, a1);
05001             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05002             if (err != Z3_error_code.Z3_OK)
05003                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05004             return r;
05005         }
05006 
05007         public static Z3_ast_vector Z3_solver_get_unsat_core(Z3_context a0, Z3_solver a1) {
05008             Z3_ast_vector r = LIB.Z3_solver_get_unsat_core(a0, a1);
05009             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05010             if (err != Z3_error_code.Z3_OK)
05011                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05012             return r;
05013         }
05014 
05015         public static string Z3_solver_get_reason_unknown(Z3_context a0, Z3_solver a1) {
05016             IntPtr r = LIB.Z3_solver_get_reason_unknown(a0, a1);
05017             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05018             if (err != Z3_error_code.Z3_OK)
05019                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05020             return Marshal.PtrToStringAnsi(r);
05021         }
05022 
05023         public static Z3_stats Z3_solver_get_statistics(Z3_context a0, Z3_solver a1) {
05024             Z3_stats r = LIB.Z3_solver_get_statistics(a0, a1);
05025             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05026             if (err != Z3_error_code.Z3_OK)
05027                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05028             return r;
05029         }
05030 
05031         public static string Z3_solver_to_string(Z3_context a0, Z3_solver a1) {
05032             IntPtr r = LIB.Z3_solver_to_string(a0, a1);
05033             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05034             if (err != Z3_error_code.Z3_OK)
05035                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05036             return Marshal.PtrToStringAnsi(r);
05037         }
05038 
05039         public static string Z3_stats_to_string(Z3_context a0, Z3_stats a1) {
05040             IntPtr r = LIB.Z3_stats_to_string(a0, a1);
05041             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05042             if (err != Z3_error_code.Z3_OK)
05043                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05044             return Marshal.PtrToStringAnsi(r);
05045         }
05046 
05047         public static void Z3_stats_inc_ref(Z3_context a0, Z3_stats a1) {
05048             LIB.Z3_stats_inc_ref(a0, a1);
05049             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05050             if (err != Z3_error_code.Z3_OK)
05051                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05052         }
05053 
05054         public static void Z3_stats_dec_ref(Z3_context a0, Z3_stats a1) {
05055             LIB.Z3_stats_dec_ref(a0, a1);
05056             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05057             if (err != Z3_error_code.Z3_OK)
05058                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05059         }
05060 
05061         public static uint Z3_stats_size(Z3_context a0, Z3_stats a1) {
05062             uint r = LIB.Z3_stats_size(a0, a1);
05063             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05064             if (err != Z3_error_code.Z3_OK)
05065                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05066             return r;
05067         }
05068 
05069         public static string Z3_stats_get_key(Z3_context a0, Z3_stats a1, uint a2) {
05070             IntPtr r = LIB.Z3_stats_get_key(a0, a1, a2);
05071             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05072             if (err != Z3_error_code.Z3_OK)
05073                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05074             return Marshal.PtrToStringAnsi(r);
05075         }
05076 
05077         public static int Z3_stats_is_uint(Z3_context a0, Z3_stats a1, uint a2) {
05078             int r = LIB.Z3_stats_is_uint(a0, a1, a2);
05079             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05080             if (err != Z3_error_code.Z3_OK)
05081                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05082             return r;
05083         }
05084 
05085         public static int Z3_stats_is_double(Z3_context a0, Z3_stats a1, uint a2) {
05086             int r = LIB.Z3_stats_is_double(a0, a1, a2);
05087             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05088             if (err != Z3_error_code.Z3_OK)
05089                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05090             return r;
05091         }
05092 
05093         public static uint Z3_stats_get_uint_value(Z3_context a0, Z3_stats a1, uint a2) {
05094             uint r = LIB.Z3_stats_get_uint_value(a0, a1, a2);
05095             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05096             if (err != Z3_error_code.Z3_OK)
05097                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05098             return r;
05099         }
05100 
05101         public static double Z3_stats_get_double_value(Z3_context a0, Z3_stats a1, uint a2) {
05102             double r = LIB.Z3_stats_get_double_value(a0, a1, a2);
05103             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05104             if (err != Z3_error_code.Z3_OK)
05105                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05106             return r;
05107         }
05108 
05109         public static Z3_func_decl Z3_mk_injective_function(Z3_context a0, IntPtr a1, uint a2, [In] Z3_sort[] a3, Z3_sort a4) {
05110             Z3_func_decl r = LIB.Z3_mk_injective_function(a0, a1, a2, a3, a4);
05111             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05112             if (err != Z3_error_code.Z3_OK)
05113                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05114             return r;
05115         }
05116 
05117         public static void Z3_set_logic(Z3_context a0, string a1) {
05118             LIB.Z3_set_logic(a0, a1);
05119             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05120             if (err != Z3_error_code.Z3_OK)
05121                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05122         }
05123 
05124         public static void Z3_push(Z3_context a0) {
05125             LIB.Z3_push(a0);
05126             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05127             if (err != Z3_error_code.Z3_OK)
05128                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05129         }
05130 
05131         public static void Z3_pop(Z3_context a0, uint a1) {
05132             LIB.Z3_pop(a0, a1);
05133             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05134             if (err != Z3_error_code.Z3_OK)
05135                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05136         }
05137 
05138         public static uint Z3_get_num_scopes(Z3_context a0) {
05139             uint r = LIB.Z3_get_num_scopes(a0);
05140             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05141             if (err != Z3_error_code.Z3_OK)
05142                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05143             return r;
05144         }
05145 
05146         public static void Z3_persist_ast(Z3_context a0, Z3_ast a1, uint a2) {
05147             LIB.Z3_persist_ast(a0, a1, a2);
05148             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05149             if (err != Z3_error_code.Z3_OK)
05150                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05151         }
05152 
05153         public static void Z3_assert_cnstr(Z3_context a0, Z3_ast a1) {
05154             LIB.Z3_assert_cnstr(a0, a1);
05155             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05156             if (err != Z3_error_code.Z3_OK)
05157                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05158         }
05159 
05160         public static int Z3_check_and_get_model(Z3_context a0, [In, Out] ref Z3_model a1) {
05161             int r = LIB.Z3_check_and_get_model(a0, ref a1);
05162             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05163             if (err != Z3_error_code.Z3_OK)
05164                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05165             return r;
05166         }
05167 
05168         public static int Z3_check(Z3_context a0) {
05169             int r = LIB.Z3_check(a0);
05170             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05171             if (err != Z3_error_code.Z3_OK)
05172                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05173             return r;
05174         }
05175 
05176         public static int Z3_check_assumptions(Z3_context a0, uint a1, [In] Z3_ast[] a2, [In, Out] ref Z3_model a3, [In, Out] ref Z3_ast a4, [In, Out] ref uint a5, [Out] Z3_ast[] a6) {
05177             int r = LIB.Z3_check_assumptions(a0, a1, a2, ref a3, ref a4, ref a5, a6);
05178             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05179             if (err != Z3_error_code.Z3_OK)
05180                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05181             return r;
05182         }
05183 
05184         public static uint Z3_get_implied_equalities(Z3_context a0, Z3_solver a1, uint a2, [In] Z3_ast[] a3, [Out] uint[] a4) {
05185             uint r = LIB.Z3_get_implied_equalities(a0, a1, a2, a3, a4);
05186             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05187             if (err != Z3_error_code.Z3_OK)
05188                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05189             return r;
05190         }
05191 
05192         public static void Z3_del_model(Z3_context a0, Z3_model a1) {
05193             LIB.Z3_del_model(a0, a1);
05194             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05195             if (err != Z3_error_code.Z3_OK)
05196                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05197         }
05198 
05199         public static void Z3_soft_check_cancel(Z3_context a0) {
05200             LIB.Z3_soft_check_cancel(a0);
05201             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05202             if (err != Z3_error_code.Z3_OK)
05203                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05204         }
05205 
05206         public static uint Z3_get_search_failure(Z3_context a0) {
05207             uint r = LIB.Z3_get_search_failure(a0);
05208             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05209             if (err != Z3_error_code.Z3_OK)
05210                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05211             return r;
05212         }
05213 
05214         public static Z3_ast Z3_mk_label(Z3_context a0, IntPtr a1, int a2, Z3_ast a3) {
05215             Z3_ast r = LIB.Z3_mk_label(a0, a1, a2, a3);
05216             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05217             if (err != Z3_error_code.Z3_OK)
05218                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05219             return r;
05220         }
05221 
05222         public static Z3_literals Z3_get_relevant_labels(Z3_context a0) {
05223             Z3_literals r = LIB.Z3_get_relevant_labels(a0);
05224             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05225             if (err != Z3_error_code.Z3_OK)
05226                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05227             return r;
05228         }
05229 
05230         public static Z3_literals Z3_get_relevant_literals(Z3_context a0) {
05231             Z3_literals r = LIB.Z3_get_relevant_literals(a0);
05232             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05233             if (err != Z3_error_code.Z3_OK)
05234                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05235             return r;
05236         }
05237 
05238         public static Z3_literals Z3_get_guessed_literals(Z3_context a0) {
05239             Z3_literals r = LIB.Z3_get_guessed_literals(a0);
05240             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05241             if (err != Z3_error_code.Z3_OK)
05242                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05243             return r;
05244         }
05245 
05246         public static void Z3_del_literals(Z3_context a0, Z3_literals a1) {
05247             LIB.Z3_del_literals(a0, a1);
05248             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05249             if (err != Z3_error_code.Z3_OK)
05250                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05251         }
05252 
05253         public static uint Z3_get_num_literals(Z3_context a0, Z3_literals a1) {
05254             uint r = LIB.Z3_get_num_literals(a0, a1);
05255             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05256             if (err != Z3_error_code.Z3_OK)
05257                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05258             return r;
05259         }
05260 
05261         public static IntPtr Z3_get_label_symbol(Z3_context a0, Z3_literals a1, uint a2) {
05262             IntPtr r = LIB.Z3_get_label_symbol(a0, a1, a2);
05263             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05264             if (err != Z3_error_code.Z3_OK)
05265                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05266             return r;
05267         }
05268 
05269         public static Z3_ast Z3_get_literal(Z3_context a0, Z3_literals a1, uint a2) {
05270             Z3_ast r = LIB.Z3_get_literal(a0, a1, a2);
05271             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05272             if (err != Z3_error_code.Z3_OK)
05273                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05274             return r;
05275         }
05276 
05277         public static void Z3_disable_literal(Z3_context a0, Z3_literals a1, uint a2) {
05278             LIB.Z3_disable_literal(a0, a1, a2);
05279             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05280             if (err != Z3_error_code.Z3_OK)
05281                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05282         }
05283 
05284         public static void Z3_block_literals(Z3_context a0, Z3_literals a1) {
05285             LIB.Z3_block_literals(a0, a1);
05286             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05287             if (err != Z3_error_code.Z3_OK)
05288                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05289         }
05290 
05291         public static uint Z3_get_model_num_constants(Z3_context a0, Z3_model a1) {
05292             uint r = LIB.Z3_get_model_num_constants(a0, a1);
05293             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05294             if (err != Z3_error_code.Z3_OK)
05295                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05296             return r;
05297         }
05298 
05299         public static Z3_func_decl Z3_get_model_constant(Z3_context a0, Z3_model a1, uint a2) {
05300             Z3_func_decl r = LIB.Z3_get_model_constant(a0, a1, a2);
05301             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05302             if (err != Z3_error_code.Z3_OK)
05303                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05304             return r;
05305         }
05306 
05307         public static uint Z3_get_model_num_funcs(Z3_context a0, Z3_model a1) {
05308             uint r = LIB.Z3_get_model_num_funcs(a0, a1);
05309             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05310             if (err != Z3_error_code.Z3_OK)
05311                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05312             return r;
05313         }
05314 
05315         public static Z3_func_decl Z3_get_model_func_decl(Z3_context a0, Z3_model a1, uint a2) {
05316             Z3_func_decl r = LIB.Z3_get_model_func_decl(a0, a1, a2);
05317             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05318             if (err != Z3_error_code.Z3_OK)
05319                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05320             return r;
05321         }
05322 
05323         public static int Z3_eval_func_decl(Z3_context a0, Z3_model a1, Z3_func_decl a2, [In, Out] ref Z3_ast a3) {
05324             int r = LIB.Z3_eval_func_decl(a0, a1, a2, ref a3);
05325             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05326             if (err != Z3_error_code.Z3_OK)
05327                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05328             return r;
05329         }
05330 
05331         public static int Z3_is_array_value(Z3_context a0, Z3_model a1, Z3_ast a2, [In, Out] ref uint a3) {
05332             int r = LIB.Z3_is_array_value(a0, a1, a2, ref a3);
05333             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05334             if (err != Z3_error_code.Z3_OK)
05335                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05336             return r;
05337         }
05338 
05339         public static void Z3_get_array_value(Z3_context a0, Z3_model a1, Z3_ast a2, uint a3, [Out] Z3_ast[] a4, [Out] Z3_ast[] a5, [In, Out] ref Z3_ast a6) {
05340             LIB.Z3_get_array_value(a0, a1, a2, a3, a4, a5, ref a6);
05341             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05342             if (err != Z3_error_code.Z3_OK)
05343                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05344         }
05345 
05346         public static Z3_ast Z3_get_model_func_else(Z3_context a0, Z3_model a1, uint a2) {
05347             Z3_ast r = LIB.Z3_get_model_func_else(a0, a1, a2);
05348             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05349             if (err != Z3_error_code.Z3_OK)
05350                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05351             return r;
05352         }
05353 
05354         public static uint Z3_get_model_func_num_entries(Z3_context a0, Z3_model a1, uint a2) {
05355             uint r = LIB.Z3_get_model_func_num_entries(a0, a1, a2);
05356             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05357             if (err != Z3_error_code.Z3_OK)
05358                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05359             return r;
05360         }
05361 
05362         public static uint Z3_get_model_func_entry_num_args(Z3_context a0, Z3_model a1, uint a2, uint a3) {
05363             uint r = LIB.Z3_get_model_func_entry_num_args(a0, a1, a2, a3);
05364             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05365             if (err != Z3_error_code.Z3_OK)
05366                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05367             return r;
05368         }
05369 
05370         public static Z3_ast Z3_get_model_func_entry_arg(Z3_context a0, Z3_model a1, uint a2, uint a3, uint a4) {
05371             Z3_ast r = LIB.Z3_get_model_func_entry_arg(a0, a1, a2, a3, a4);
05372             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05373             if (err != Z3_error_code.Z3_OK)
05374                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05375             return r;
05376         }
05377 
05378         public static Z3_ast Z3_get_model_func_entry_value(Z3_context a0, Z3_model a1, uint a2, uint a3) {
05379             Z3_ast r = LIB.Z3_get_model_func_entry_value(a0, a1, a2, a3);
05380             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05381             if (err != Z3_error_code.Z3_OK)
05382                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05383             return r;
05384         }
05385 
05386         public static int Z3_eval(Z3_context a0, Z3_model a1, Z3_ast a2, [In, Out] ref Z3_ast a3) {
05387             int r = LIB.Z3_eval(a0, a1, a2, ref a3);
05388             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05389             if (err != Z3_error_code.Z3_OK)
05390                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05391             return r;
05392         }
05393 
05394         public static int Z3_eval_decl(Z3_context a0, Z3_model a1, Z3_func_decl a2, uint a3, [In] Z3_ast[] a4, [In, Out] ref Z3_ast a5) {
05395             int r = LIB.Z3_eval_decl(a0, a1, a2, a3, a4, ref a5);
05396             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05397             if (err != Z3_error_code.Z3_OK)
05398                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05399             return r;
05400         }
05401 
05402         public static string Z3_context_to_string(Z3_context a0) {
05403             IntPtr r = LIB.Z3_context_to_string(a0);
05404             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05405             if (err != Z3_error_code.Z3_OK)
05406                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05407             return Marshal.PtrToStringAnsi(r);
05408         }
05409 
05410         public static string Z3_statistics_to_string(Z3_context a0) {
05411             IntPtr r = LIB.Z3_statistics_to_string(a0);
05412             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05413             if (err != Z3_error_code.Z3_OK)
05414                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05415             return Marshal.PtrToStringAnsi(r);
05416         }
05417 
05418         public static Z3_ast Z3_get_context_assignment(Z3_context a0) {
05419             Z3_ast r = LIB.Z3_get_context_assignment(a0);
05420             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05421             if (err != Z3_error_code.Z3_OK)
05422                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05423             return r;
05424         }
05425 
05426         public static int Z3_algebraic_is_value(Z3_context a0, Z3_ast a1) {
05427             int r = LIB.Z3_algebraic_is_value(a0, a1);
05428             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05429             if (err != Z3_error_code.Z3_OK)
05430                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05431             return r;
05432         }
05433 
05434         public static int Z3_algebraic_is_pos(Z3_context a0, Z3_ast a1) {
05435             int r = LIB.Z3_algebraic_is_pos(a0, a1);
05436             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05437             if (err != Z3_error_code.Z3_OK)
05438                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05439             return r;
05440         }
05441 
05442         public static int Z3_algebraic_is_neg(Z3_context a0, Z3_ast a1) {
05443             int r = LIB.Z3_algebraic_is_neg(a0, a1);
05444             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05445             if (err != Z3_error_code.Z3_OK)
05446                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05447             return r;
05448         }
05449 
05450         public static int Z3_algebraic_is_zero(Z3_context a0, Z3_ast a1) {
05451             int r = LIB.Z3_algebraic_is_zero(a0, a1);
05452             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05453             if (err != Z3_error_code.Z3_OK)
05454                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05455             return r;
05456         }
05457 
05458         public static int Z3_algebraic_sign(Z3_context a0, Z3_ast a1) {
05459             int r = LIB.Z3_algebraic_sign(a0, a1);
05460             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05461             if (err != Z3_error_code.Z3_OK)
05462                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05463             return r;
05464         }
05465 
05466         public static Z3_ast Z3_algebraic_add(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05467             Z3_ast r = LIB.Z3_algebraic_add(a0, a1, a2);
05468             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05469             if (err != Z3_error_code.Z3_OK)
05470                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05471             return r;
05472         }
05473 
05474         public static Z3_ast Z3_algebraic_sub(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05475             Z3_ast r = LIB.Z3_algebraic_sub(a0, a1, a2);
05476             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05477             if (err != Z3_error_code.Z3_OK)
05478                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05479             return r;
05480         }
05481 
05482         public static Z3_ast Z3_algebraic_mul(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05483             Z3_ast r = LIB.Z3_algebraic_mul(a0, a1, a2);
05484             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05485             if (err != Z3_error_code.Z3_OK)
05486                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05487             return r;
05488         }
05489 
05490         public static Z3_ast Z3_algebraic_div(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05491             Z3_ast r = LIB.Z3_algebraic_div(a0, a1, a2);
05492             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05493             if (err != Z3_error_code.Z3_OK)
05494                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05495             return r;
05496         }
05497 
05498         public static Z3_ast Z3_algebraic_root(Z3_context a0, Z3_ast a1, uint a2) {
05499             Z3_ast r = LIB.Z3_algebraic_root(a0, a1, a2);
05500             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05501             if (err != Z3_error_code.Z3_OK)
05502                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05503             return r;
05504         }
05505 
05506         public static Z3_ast Z3_algebraic_power(Z3_context a0, Z3_ast a1, uint a2) {
05507             Z3_ast r = LIB.Z3_algebraic_power(a0, a1, a2);
05508             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05509             if (err != Z3_error_code.Z3_OK)
05510                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05511             return r;
05512         }
05513 
05514         public static int Z3_algebraic_lt(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05515             int r = LIB.Z3_algebraic_lt(a0, a1, a2);
05516             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05517             if (err != Z3_error_code.Z3_OK)
05518                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05519             return r;
05520         }
05521 
05522         public static int Z3_algebraic_gt(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05523             int r = LIB.Z3_algebraic_gt(a0, a1, a2);
05524             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05525             if (err != Z3_error_code.Z3_OK)
05526                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05527             return r;
05528         }
05529 
05530         public static int Z3_algebraic_le(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05531             int r = LIB.Z3_algebraic_le(a0, a1, a2);
05532             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05533             if (err != Z3_error_code.Z3_OK)
05534                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05535             return r;
05536         }
05537 
05538         public static int Z3_algebraic_ge(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05539             int r = LIB.Z3_algebraic_ge(a0, a1, a2);
05540             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05541             if (err != Z3_error_code.Z3_OK)
05542                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05543             return r;
05544         }
05545 
05546         public static int Z3_algebraic_eq(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05547             int r = LIB.Z3_algebraic_eq(a0, a1, a2);
05548             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05549             if (err != Z3_error_code.Z3_OK)
05550                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05551             return r;
05552         }
05553 
05554         public static int Z3_algebraic_neq(Z3_context a0, Z3_ast a1, Z3_ast a2) {
05555             int r = LIB.Z3_algebraic_neq(a0, a1, a2);
05556             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05557             if (err != Z3_error_code.Z3_OK)
05558                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05559             return r;
05560         }
05561 
05562         public static Z3_ast_vector Z3_algebraic_roots(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3) {
05563             Z3_ast_vector r = LIB.Z3_algebraic_roots(a0, a1, a2, a3);
05564             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05565             if (err != Z3_error_code.Z3_OK)
05566                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05567             return r;
05568         }
05569 
05570         public static int Z3_algebraic_eval(Z3_context a0, Z3_ast a1, uint a2, [In] Z3_ast[] a3) {
05571             int r = LIB.Z3_algebraic_eval(a0, a1, a2, a3);
05572             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05573             if (err != Z3_error_code.Z3_OK)
05574                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05575             return r;
05576         }
05577 
05578         public static Z3_ast_vector Z3_polynomial_subresultants(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_ast a3) {
05579             Z3_ast_vector r = LIB.Z3_polynomial_subresultants(a0, a1, a2, a3);
05580             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05581             if (err != Z3_error_code.Z3_OK)
05582                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05583             return r;
05584         }
05585 
05586         public static void Z3_rcf_del(Z3_context a0, Z3_rcf_num a1) {
05587             LIB.Z3_rcf_del(a0, a1);
05588             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05589             if (err != Z3_error_code.Z3_OK)
05590                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05591         }
05592 
05593         public static Z3_rcf_num Z3_rcf_mk_rational(Z3_context a0, string a1) {
05594             Z3_rcf_num r = LIB.Z3_rcf_mk_rational(a0, a1);
05595             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05596             if (err != Z3_error_code.Z3_OK)
05597                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05598             return r;
05599         }
05600 
05601         public static Z3_rcf_num Z3_rcf_mk_small_int(Z3_context a0, int a1) {
05602             Z3_rcf_num r = LIB.Z3_rcf_mk_small_int(a0, a1);
05603             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05604             if (err != Z3_error_code.Z3_OK)
05605                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05606             return r;
05607         }
05608 
05609         public static Z3_rcf_num Z3_rcf_mk_pi(Z3_context a0) {
05610             Z3_rcf_num r = LIB.Z3_rcf_mk_pi(a0);
05611             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05612             if (err != Z3_error_code.Z3_OK)
05613                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05614             return r;
05615         }
05616 
05617         public static Z3_rcf_num Z3_rcf_mk_e(Z3_context a0) {
05618             Z3_rcf_num r = LIB.Z3_rcf_mk_e(a0);
05619             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05620             if (err != Z3_error_code.Z3_OK)
05621                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05622             return r;
05623         }
05624 
05625         public static Z3_rcf_num Z3_rcf_mk_infinitesimal(Z3_context a0) {
05626             Z3_rcf_num r = LIB.Z3_rcf_mk_infinitesimal(a0);
05627             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05628             if (err != Z3_error_code.Z3_OK)
05629                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05630             return r;
05631         }
05632 
05633         public static uint Z3_rcf_mk_roots(Z3_context a0, uint a1, [In] Z3_rcf_num[] a2, [Out] Z3_rcf_num[] a3) {
05634             uint r = LIB.Z3_rcf_mk_roots(a0, a1, a2, a3);
05635             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05636             if (err != Z3_error_code.Z3_OK)
05637                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05638             return r;
05639         }
05640 
05641         public static Z3_rcf_num Z3_rcf_add(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05642             Z3_rcf_num r = LIB.Z3_rcf_add(a0, a1, a2);
05643             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05644             if (err != Z3_error_code.Z3_OK)
05645                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05646             return r;
05647         }
05648 
05649         public static Z3_rcf_num Z3_rcf_sub(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05650             Z3_rcf_num r = LIB.Z3_rcf_sub(a0, a1, a2);
05651             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05652             if (err != Z3_error_code.Z3_OK)
05653                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05654             return r;
05655         }
05656 
05657         public static Z3_rcf_num Z3_rcf_mul(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05658             Z3_rcf_num r = LIB.Z3_rcf_mul(a0, a1, a2);
05659             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05660             if (err != Z3_error_code.Z3_OK)
05661                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05662             return r;
05663         }
05664 
05665         public static Z3_rcf_num Z3_rcf_div(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05666             Z3_rcf_num r = LIB.Z3_rcf_div(a0, a1, a2);
05667             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05668             if (err != Z3_error_code.Z3_OK)
05669                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05670             return r;
05671         }
05672 
05673         public static Z3_rcf_num Z3_rcf_neg(Z3_context a0, Z3_rcf_num a1) {
05674             Z3_rcf_num r = LIB.Z3_rcf_neg(a0, a1);
05675             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05676             if (err != Z3_error_code.Z3_OK)
05677                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05678             return r;
05679         }
05680 
05681         public static Z3_rcf_num Z3_rcf_inv(Z3_context a0, Z3_rcf_num a1) {
05682             Z3_rcf_num r = LIB.Z3_rcf_inv(a0, a1);
05683             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05684             if (err != Z3_error_code.Z3_OK)
05685                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05686             return r;
05687         }
05688 
05689         public static Z3_rcf_num Z3_rcf_power(Z3_context a0, Z3_rcf_num a1, uint a2) {
05690             Z3_rcf_num r = LIB.Z3_rcf_power(a0, a1, a2);
05691             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05692             if (err != Z3_error_code.Z3_OK)
05693                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05694             return r;
05695         }
05696 
05697         public static int Z3_rcf_lt(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05698             int r = LIB.Z3_rcf_lt(a0, a1, a2);
05699             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05700             if (err != Z3_error_code.Z3_OK)
05701                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05702             return r;
05703         }
05704 
05705         public static int Z3_rcf_gt(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05706             int r = LIB.Z3_rcf_gt(a0, a1, a2);
05707             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05708             if (err != Z3_error_code.Z3_OK)
05709                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05710             return r;
05711         }
05712 
05713         public static int Z3_rcf_le(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05714             int r = LIB.Z3_rcf_le(a0, a1, a2);
05715             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05716             if (err != Z3_error_code.Z3_OK)
05717                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05718             return r;
05719         }
05720 
05721         public static int Z3_rcf_ge(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05722             int r = LIB.Z3_rcf_ge(a0, a1, a2);
05723             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05724             if (err != Z3_error_code.Z3_OK)
05725                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05726             return r;
05727         }
05728 
05729         public static int Z3_rcf_eq(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05730             int r = LIB.Z3_rcf_eq(a0, a1, a2);
05731             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05732             if (err != Z3_error_code.Z3_OK)
05733                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05734             return r;
05735         }
05736 
05737         public static int Z3_rcf_neq(Z3_context a0, Z3_rcf_num a1, Z3_rcf_num a2) {
05738             int r = LIB.Z3_rcf_neq(a0, a1, a2);
05739             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05740             if (err != Z3_error_code.Z3_OK)
05741                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05742             return r;
05743         }
05744 
05745         public static string Z3_rcf_num_to_string(Z3_context a0, Z3_rcf_num a1, int a2, int a3) {
05746             IntPtr r = LIB.Z3_rcf_num_to_string(a0, a1, a2, a3);
05747             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05748             if (err != Z3_error_code.Z3_OK)
05749                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05750             return Marshal.PtrToStringAnsi(r);
05751         }
05752 
05753         public static string Z3_rcf_num_to_decimal_string(Z3_context a0, Z3_rcf_num a1, uint a2) {
05754             IntPtr r = LIB.Z3_rcf_num_to_decimal_string(a0, a1, a2);
05755             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05756             if (err != Z3_error_code.Z3_OK)
05757                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05758             return Marshal.PtrToStringAnsi(r);
05759         }
05760 
05761         public static void Z3_rcf_get_numerator_denominator(Z3_context a0, Z3_rcf_num a1, [In, Out] ref Z3_rcf_num a2, [In, Out] ref Z3_rcf_num a3) {
05762             LIB.Z3_rcf_get_numerator_denominator(a0, a1, ref a2, ref a3);
05763             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05764             if (err != Z3_error_code.Z3_OK)
05765                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05766         }
05767 
05768         public static Z3_ast Z3_mk_interpolant(Z3_context a0, Z3_ast a1) {
05769             Z3_ast r = LIB.Z3_mk_interpolant(a0, a1);
05770             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05771             if (err != Z3_error_code.Z3_OK)
05772                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05773             return r;
05774         }
05775 
05776         public static Z3_context Z3_mk_interpolation_context(Z3_config a0) {
05777             Z3_context r = LIB.Z3_mk_interpolation_context(a0);
05778             return r;
05779         }
05780 
05781         public static Z3_ast_vector Z3_get_interpolant(Z3_context a0, Z3_ast a1, Z3_ast a2, Z3_params a3) {
05782             Z3_ast_vector r = LIB.Z3_get_interpolant(a0, a1, a2, a3);
05783             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05784             if (err != Z3_error_code.Z3_OK)
05785                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05786             return r;
05787         }
05788 
05789         public static int Z3_compute_interpolant(Z3_context a0, Z3_ast a1, Z3_params a2, [In, Out] ref Z3_ast_vector a3, [In, Out] ref Z3_model a4) {
05790             int r = LIB.Z3_compute_interpolant(a0, a1, a2, ref a3, ref a4);
05791             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05792             if (err != Z3_error_code.Z3_OK)
05793                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05794             return r;
05795         }
05796 
05797         public static string Z3_interpolation_profile(Z3_context a0) {
05798             IntPtr r = LIB.Z3_interpolation_profile(a0);
05799             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05800             if (err != Z3_error_code.Z3_OK)
05801                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05802             return Marshal.PtrToStringAnsi(r);
05803         }
05804 
05805         public static int Z3_read_interpolation_problem(Z3_context a0, [In, Out] ref uint a1, [Out] out Z3_ast[] a2, [Out] out uint[] a3, string a4, out IntPtr a5, [In, Out] ref uint a6, [Out] out Z3_ast[] a7) {
05806             int r = LIB.Z3_read_interpolation_problem(a0, ref a1, out a2, out a3, a4, out a5, ref a6, out a7);
05807             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05808             if (err != Z3_error_code.Z3_OK)
05809                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05810             return r;
05811         }
05812 
05813         public static int Z3_check_interpolant(Z3_context a0, uint a1, [In] Z3_ast[] a2, [In] uint[] a3, [In] Z3_ast[] a4, out IntPtr a5, uint a6, [In] Z3_ast[] a7) {
05814             int r = LIB.Z3_check_interpolant(a0, a1, a2, a3, a4, out a5, a6, a7);
05815             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05816             if (err != Z3_error_code.Z3_OK)
05817                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05818             return r;
05819         }
05820 
05821         public static void Z3_write_interpolation_problem(Z3_context a0, uint a1, [In] Z3_ast[] a2, [In] uint[] a3, string a4, uint a5, [In] Z3_ast[] a6) {
05822             LIB.Z3_write_interpolation_problem(a0, a1, a2, a3, a4, a5, a6);
05823             Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
05824             if (err != Z3_error_code.Z3_OK)
05825                 throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
05826         }
05827 
05828     }
05829 
05830 }
05831 
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines