-
-
Save GavinRay97/66f301b5a905de6b1739688553699253 to your computer and use it in GitHub Desktop.
Z3 C API Ohmygentool D translation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import core.stdc.stdarg; | |
import core.stdc.locale; | |
import core.stdc.ctype; | |
import core.stdc.time; | |
import core.stdc.stdio; | |
import core.stdc.wchar_; | |
import core.stdc.float_; | |
import core.stdc.errno; | |
import core.stdc.string; | |
import core.stdc.stddef; | |
import core.stdc.stdlib; | |
import core.stdc.math; | |
import core.stdc.limits; | |
import core.stdc.stdint; | |
import core.stdc.config; | |
import std.bitmanip : bitfields; | |
import std.conv : emplace; | |
bool isModuleAvailable(alias T)() { | |
mixin("import " ~ T ~ ";"); | |
static if (__traits(compiles, (mixin(T)).stringof)) | |
return true; | |
else | |
return false; | |
} | |
static if (__traits(compiles, isModuleAvailable!"nsgen" )) | |
static import nsgen; | |
struct CppClassSizeAttr | |
{ | |
alias size this; | |
size_t size; | |
} | |
CppClassSizeAttr cppclasssize(size_t a) { return CppClassSizeAttr(a); } | |
struct CppSizeAttr | |
{ | |
alias size this; | |
size_t size; | |
} | |
CppSizeAttr cppsize(size_t a) { return CppSizeAttr(a); } | |
struct CppMethodAttr{} | |
CppMethodAttr cppmethod() { return CppMethodAttr(); } | |
struct PyExtract{} | |
auto pyExtract(string name = null) { return PyExtract(); } | |
mixin template RvalueRef() | |
{ | |
alias T = typeof(this); | |
static assert (is(T == struct)); | |
@nogc @safe | |
ref const(T) byRef() const pure nothrow return | |
{ | |
return this; | |
} | |
} | |
extern(C) | |
bool Z3_algebraic_is_value(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_algebraic_is_pos(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_algebraic_is_neg(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_algebraic_is_zero(Z3_context c, Z3_ast a); | |
extern(C) | |
int Z3_algebraic_sign(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_algebraic_add(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
Z3_ast Z3_algebraic_sub(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
Z3_ast Z3_algebraic_mul(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
Z3_ast Z3_algebraic_div(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
Z3_ast Z3_algebraic_root(Z3_context c, Z3_ast a, uint k); | |
extern(C) | |
Z3_ast Z3_algebraic_power(Z3_context c, Z3_ast a, uint k); | |
extern(C) | |
bool Z3_algebraic_lt(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
bool Z3_algebraic_gt(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
bool Z3_algebraic_le(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
bool Z3_algebraic_ge(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
bool Z3_algebraic_eq(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
bool Z3_algebraic_neq(Z3_context c, Z3_ast a, Z3_ast b); | |
extern(C) | |
Z3_ast_vector Z3_algebraic_roots(Z3_context c, Z3_ast p, uint n, Z3_ast* a); | |
extern(C) | |
int Z3_algebraic_eval(Z3_context c, Z3_ast p, uint n, Z3_ast* a); | |
extern(C) | |
Z3_ast_vector Z3_algebraic_get_poly(Z3_context c, Z3_ast a); | |
extern(C) | |
uint Z3_algebraic_get_i(Z3_context c, Z3_ast a); | |
enum Z3_sort_opt = `Z3_sort`; | |
enum Z3_ast_opt = `Z3_ast`; | |
enum Z3_func_interp_opt = `Z3_func_interp`; | |
enum Z3_TRUE = `true`; | |
enum Z3_FALSE = `false`; | |
alias Z3_bool = bool; | |
alias Z3_string = const(char)*; | |
alias Z3_char_ptr = const(char)*; | |
alias Z3_string_ptr = const(char)**; | |
alias Z3_lbool = int; | |
enum : Z3_lbool | |
{ | |
Z3_L_FALSE = -1, | |
Z3_L_UNDEF = 0, | |
Z3_L_TRUE = 1, | |
} | |
alias Z3_symbol_kind = int; | |
enum : Z3_symbol_kind | |
{ | |
Z3_INT_SYMBOL = 0, | |
Z3_STRING_SYMBOL = 1, | |
} | |
alias Z3_parameter_kind = int; | |
enum : Z3_parameter_kind | |
{ | |
Z3_PARAMETER_INT = 0, | |
Z3_PARAMETER_DOUBLE = 1, | |
Z3_PARAMETER_RATIONAL = 2, | |
Z3_PARAMETER_SYMBOL = 3, | |
Z3_PARAMETER_SORT = 4, | |
Z3_PARAMETER_AST = 5, | |
Z3_PARAMETER_FUNC_DECL = 6, | |
} | |
alias Z3_sort_kind = int; | |
enum : Z3_sort_kind | |
{ | |
Z3_UNINTERPRETED_SORT = 0, | |
Z3_BOOL_SORT = 1, | |
Z3_INT_SORT = 2, | |
Z3_REAL_SORT = 3, | |
Z3_BV_SORT = 4, | |
Z3_ARRAY_SORT = 5, | |
Z3_DATATYPE_SORT = 6, | |
Z3_RELATION_SORT = 7, | |
Z3_FINITE_DOMAIN_SORT = 8, | |
Z3_FLOATING_POINT_SORT = 9, | |
Z3_ROUNDING_MODE_SORT = 10, | |
Z3_SEQ_SORT = 11, | |
Z3_RE_SORT = 12, | |
Z3_UNKNOWN_SORT = 1000, | |
} | |
alias Z3_ast_kind = int; | |
enum : Z3_ast_kind | |
{ | |
Z3_NUMERAL_AST = 0, | |
Z3_APP_AST = 1, | |
Z3_VAR_AST = 2, | |
Z3_QUANTIFIER_AST = 3, | |
Z3_SORT_AST = 4, | |
Z3_FUNC_DECL_AST = 5, | |
Z3_UNKNOWN_AST = 1000, | |
} | |
alias Z3_decl_kind = int; | |
enum : Z3_decl_kind | |
{ | |
Z3_OP_TRUE = 256, | |
Z3_OP_FALSE = 257, | |
Z3_OP_EQ = 258, | |
Z3_OP_DISTINCT = 259, | |
Z3_OP_ITE = 260, | |
Z3_OP_AND = 261, | |
Z3_OP_OR = 262, | |
Z3_OP_IFF = 263, | |
Z3_OP_XOR = 264, | |
Z3_OP_NOT = 265, | |
Z3_OP_IMPLIES = 266, | |
Z3_OP_OEQ = 267, | |
Z3_OP_ANUM = 512, | |
Z3_OP_AGNUM = 513, | |
Z3_OP_LE = 514, | |
Z3_OP_GE = 515, | |
Z3_OP_LT = 516, | |
Z3_OP_GT = 517, | |
Z3_OP_ADD = 518, | |
Z3_OP_SUB = 519, | |
Z3_OP_UMINUS = 520, | |
Z3_OP_MUL = 521, | |
Z3_OP_DIV = 522, | |
Z3_OP_IDIV = 523, | |
Z3_OP_REM = 524, | |
Z3_OP_MOD = 525, | |
Z3_OP_TO_REAL = 526, | |
Z3_OP_TO_INT = 527, | |
Z3_OP_IS_INT = 528, | |
Z3_OP_POWER = 529, | |
Z3_OP_STORE = 768, | |
Z3_OP_SELECT = 769, | |
Z3_OP_CONST_ARRAY = 770, | |
Z3_OP_ARRAY_MAP = 771, | |
Z3_OP_ARRAY_DEFAULT = 772, | |
Z3_OP_SET_UNION = 773, | |
Z3_OP_SET_INTERSECT = 774, | |
Z3_OP_SET_DIFFERENCE = 775, | |
Z3_OP_SET_COMPLEMENT = 776, | |
Z3_OP_SET_SUBSET = 777, | |
Z3_OP_AS_ARRAY = 778, | |
Z3_OP_ARRAY_EXT = 779, | |
Z3_OP_SET_HAS_SIZE = 780, | |
Z3_OP_SET_CARD = 781, | |
Z3_OP_BNUM = 1024, | |
Z3_OP_BIT1 = 1025, | |
Z3_OP_BIT0 = 1026, | |
Z3_OP_BNEG = 1027, | |
Z3_OP_BADD = 1028, | |
Z3_OP_BSUB = 1029, | |
Z3_OP_BMUL = 1030, | |
Z3_OP_BSDIV = 1031, | |
Z3_OP_BUDIV = 1032, | |
Z3_OP_BSREM = 1033, | |
Z3_OP_BUREM = 1034, | |
Z3_OP_BSMOD = 1035, | |
Z3_OP_BSDIV0 = 1036, | |
Z3_OP_BUDIV0 = 1037, | |
Z3_OP_BSREM0 = 1038, | |
Z3_OP_BUREM0 = 1039, | |
Z3_OP_BSMOD0 = 1040, | |
Z3_OP_ULEQ = 1041, | |
Z3_OP_SLEQ = 1042, | |
Z3_OP_UGEQ = 1043, | |
Z3_OP_SGEQ = 1044, | |
Z3_OP_ULT = 1045, | |
Z3_OP_SLT = 1046, | |
Z3_OP_UGT = 1047, | |
Z3_OP_SGT = 1048, | |
Z3_OP_BAND = 1049, | |
Z3_OP_BOR = 1050, | |
Z3_OP_BNOT = 1051, | |
Z3_OP_BXOR = 1052, | |
Z3_OP_BNAND = 1053, | |
Z3_OP_BNOR = 1054, | |
Z3_OP_BXNOR = 1055, | |
Z3_OP_CONCAT = 1056, | |
Z3_OP_SIGN_EXT = 1057, | |
Z3_OP_ZERO_EXT = 1058, | |
Z3_OP_EXTRACT = 1059, | |
Z3_OP_REPEAT = 1060, | |
Z3_OP_BREDOR = 1061, | |
Z3_OP_BREDAND = 1062, | |
Z3_OP_BCOMP = 1063, | |
Z3_OP_BSHL = 1064, | |
Z3_OP_BLSHR = 1065, | |
Z3_OP_BASHR = 1066, | |
Z3_OP_ROTATE_LEFT = 1067, | |
Z3_OP_ROTATE_RIGHT = 1068, | |
Z3_OP_EXT_ROTATE_LEFT = 1069, | |
Z3_OP_EXT_ROTATE_RIGHT = 1070, | |
Z3_OP_BIT2BOOL = 1071, | |
Z3_OP_INT2BV = 1072, | |
Z3_OP_BV2INT = 1073, | |
Z3_OP_CARRY = 1074, | |
Z3_OP_XOR3 = 1075, | |
Z3_OP_BSMUL_NO_OVFL = 1076, | |
Z3_OP_BUMUL_NO_OVFL = 1077, | |
Z3_OP_BSMUL_NO_UDFL = 1078, | |
Z3_OP_BSDIV_I = 1079, | |
Z3_OP_BUDIV_I = 1080, | |
Z3_OP_BSREM_I = 1081, | |
Z3_OP_BUREM_I = 1082, | |
Z3_OP_BSMOD_I = 1083, | |
Z3_OP_PR_UNDEF = 1280, | |
Z3_OP_PR_TRUE = 1281, | |
Z3_OP_PR_ASSERTED = 1282, | |
Z3_OP_PR_GOAL = 1283, | |
Z3_OP_PR_MODUS_PONENS = 1284, | |
Z3_OP_PR_REFLEXIVITY = 1285, | |
Z3_OP_PR_SYMMETRY = 1286, | |
Z3_OP_PR_TRANSITIVITY = 1287, | |
Z3_OP_PR_TRANSITIVITY_STAR = 1288, | |
Z3_OP_PR_MONOTONICITY = 1289, | |
Z3_OP_PR_QUANT_INTRO = 1290, | |
Z3_OP_PR_BIND = 1291, | |
Z3_OP_PR_DISTRIBUTIVITY = 1292, | |
Z3_OP_PR_AND_ELIM = 1293, | |
Z3_OP_PR_NOT_OR_ELIM = 1294, | |
Z3_OP_PR_REWRITE = 1295, | |
Z3_OP_PR_REWRITE_STAR = 1296, | |
Z3_OP_PR_PULL_QUANT = 1297, | |
Z3_OP_PR_PUSH_QUANT = 1298, | |
Z3_OP_PR_ELIM_UNUSED_VARS = 1299, | |
Z3_OP_PR_DER = 1300, | |
Z3_OP_PR_QUANT_INST = 1301, | |
Z3_OP_PR_HYPOTHESIS = 1302, | |
Z3_OP_PR_LEMMA = 1303, | |
Z3_OP_PR_UNIT_RESOLUTION = 1304, | |
Z3_OP_PR_IFF_TRUE = 1305, | |
Z3_OP_PR_IFF_FALSE = 1306, | |
Z3_OP_PR_COMMUTATIVITY = 1307, | |
Z3_OP_PR_DEF_AXIOM = 1308, | |
Z3_OP_PR_ASSUMPTION_ADD = 1309, | |
Z3_OP_PR_LEMMA_ADD = 1310, | |
Z3_OP_PR_REDUNDANT_DEL = 1311, | |
Z3_OP_PR_CLAUSE_TRAIL = 1312, | |
Z3_OP_PR_DEF_INTRO = 1313, | |
Z3_OP_PR_APPLY_DEF = 1314, | |
Z3_OP_PR_IFF_OEQ = 1315, | |
Z3_OP_PR_NNF_POS = 1316, | |
Z3_OP_PR_NNF_NEG = 1317, | |
Z3_OP_PR_SKOLEMIZE = 1318, | |
Z3_OP_PR_MODUS_PONENS_OEQ = 1319, | |
Z3_OP_PR_TH_LEMMA = 1320, | |
Z3_OP_PR_HYPER_RESOLVE = 1321, | |
Z3_OP_RA_STORE = 1536, | |
Z3_OP_RA_EMPTY = 1537, | |
Z3_OP_RA_IS_EMPTY = 1538, | |
Z3_OP_RA_JOIN = 1539, | |
Z3_OP_RA_UNION = 1540, | |
Z3_OP_RA_WIDEN = 1541, | |
Z3_OP_RA_PROJECT = 1542, | |
Z3_OP_RA_FILTER = 1543, | |
Z3_OP_RA_NEGATION_FILTER = 1544, | |
Z3_OP_RA_RENAME = 1545, | |
Z3_OP_RA_COMPLEMENT = 1546, | |
Z3_OP_RA_SELECT = 1547, | |
Z3_OP_RA_CLONE = 1548, | |
Z3_OP_FD_CONSTANT = 1549, | |
Z3_OP_FD_LT = 1550, | |
Z3_OP_SEQ_UNIT = 1551, | |
Z3_OP_SEQ_EMPTY = 1552, | |
Z3_OP_SEQ_CONCAT = 1553, | |
Z3_OP_SEQ_PREFIX = 1554, | |
Z3_OP_SEQ_SUFFIX = 1555, | |
Z3_OP_SEQ_CONTAINS = 1556, | |
Z3_OP_SEQ_EXTRACT = 1557, | |
Z3_OP_SEQ_REPLACE = 1558, | |
Z3_OP_SEQ_AT = 1559, | |
Z3_OP_SEQ_NTH = 1560, | |
Z3_OP_SEQ_LENGTH = 1561, | |
Z3_OP_SEQ_INDEX = 1562, | |
Z3_OP_SEQ_LAST_INDEX = 1563, | |
Z3_OP_SEQ_TO_RE = 1564, | |
Z3_OP_SEQ_IN_RE = 1565, | |
Z3_OP_STR_TO_INT = 1566, | |
Z3_OP_INT_TO_STR = 1567, | |
Z3_OP_STRING_LT = 1568, | |
Z3_OP_STRING_LE = 1569, | |
Z3_OP_RE_PLUS = 1570, | |
Z3_OP_RE_STAR = 1571, | |
Z3_OP_RE_OPTION = 1572, | |
Z3_OP_RE_CONCAT = 1573, | |
Z3_OP_RE_UNION = 1574, | |
Z3_OP_RE_RANGE = 1575, | |
Z3_OP_RE_LOOP = 1576, | |
Z3_OP_RE_INTERSECT = 1577, | |
Z3_OP_RE_EMPTY_SET = 1578, | |
Z3_OP_RE_FULL_SET = 1579, | |
Z3_OP_RE_COMPLEMENT = 1580, | |
Z3_OP_LABEL = 1792, | |
Z3_OP_LABEL_LIT = 1793, | |
Z3_OP_DT_CONSTRUCTOR = 2048, | |
Z3_OP_DT_RECOGNISER = 2049, | |
Z3_OP_DT_IS = 2050, | |
Z3_OP_DT_ACCESSOR = 2051, | |
Z3_OP_DT_UPDATE_FIELD = 2052, | |
Z3_OP_PB_AT_MOST = 2304, | |
Z3_OP_PB_AT_LEAST = 2305, | |
Z3_OP_PB_LE = 2306, | |
Z3_OP_PB_GE = 2307, | |
Z3_OP_PB_EQ = 2308, | |
Z3_OP_SPECIAL_RELATION_LO = 40960, | |
Z3_OP_SPECIAL_RELATION_PO = 40961, | |
Z3_OP_SPECIAL_RELATION_PLO = 40962, | |
Z3_OP_SPECIAL_RELATION_TO = 40963, | |
Z3_OP_SPECIAL_RELATION_TC = 40964, | |
Z3_OP_SPECIAL_RELATION_TRC = 40965, | |
Z3_OP_FPA_RM_NEAREST_TIES_TO_EVEN = 45056, | |
Z3_OP_FPA_RM_NEAREST_TIES_TO_AWAY = 45057, | |
Z3_OP_FPA_RM_TOWARD_POSITIVE = 45058, | |
Z3_OP_FPA_RM_TOWARD_NEGATIVE = 45059, | |
Z3_OP_FPA_RM_TOWARD_ZERO = 45060, | |
Z3_OP_FPA_NUM = 45061, | |
Z3_OP_FPA_PLUS_INF = 45062, | |
Z3_OP_FPA_MINUS_INF = 45063, | |
Z3_OP_FPA_NAN = 45064, | |
Z3_OP_FPA_PLUS_ZERO = 45065, | |
Z3_OP_FPA_MINUS_ZERO = 45066, | |
Z3_OP_FPA_ADD = 45067, | |
Z3_OP_FPA_SUB = 45068, | |
Z3_OP_FPA_NEG = 45069, | |
Z3_OP_FPA_MUL = 45070, | |
Z3_OP_FPA_DIV = 45071, | |
Z3_OP_FPA_REM = 45072, | |
Z3_OP_FPA_ABS = 45073, | |
Z3_OP_FPA_MIN = 45074, | |
Z3_OP_FPA_MAX = 45075, | |
Z3_OP_FPA_FMA = 45076, | |
Z3_OP_FPA_SQRT = 45077, | |
Z3_OP_FPA_ROUND_TO_INTEGRAL = 45078, | |
Z3_OP_FPA_EQ = 45079, | |
Z3_OP_FPA_LT = 45080, | |
Z3_OP_FPA_GT = 45081, | |
Z3_OP_FPA_LE = 45082, | |
Z3_OP_FPA_GE = 45083, | |
Z3_OP_FPA_IS_NAN = 45084, | |
Z3_OP_FPA_IS_INF = 45085, | |
Z3_OP_FPA_IS_ZERO = 45086, | |
Z3_OP_FPA_IS_NORMAL = 45087, | |
Z3_OP_FPA_IS_SUBNORMAL = 45088, | |
Z3_OP_FPA_IS_NEGATIVE = 45089, | |
Z3_OP_FPA_IS_POSITIVE = 45090, | |
Z3_OP_FPA_FP = 45091, | |
Z3_OP_FPA_TO_FP = 45092, | |
Z3_OP_FPA_TO_FP_UNSIGNED = 45093, | |
Z3_OP_FPA_TO_UBV = 45094, | |
Z3_OP_FPA_TO_SBV = 45095, | |
Z3_OP_FPA_TO_REAL = 45096, | |
Z3_OP_FPA_TO_IEEE_BV = 45097, | |
Z3_OP_FPA_BVWRAP = 45098, | |
Z3_OP_FPA_BV2RM = 45099, | |
Z3_OP_INTERNAL = 45100, | |
Z3_OP_UNINTERPRETED = 45101, | |
} | |
alias Z3_param_kind = int; | |
enum : Z3_param_kind | |
{ | |
Z3_PK_UINT = 0, | |
Z3_PK_BOOL = 1, | |
Z3_PK_DOUBLE = 2, | |
Z3_PK_SYMBOL = 3, | |
Z3_PK_STRING = 4, | |
Z3_PK_OTHER = 5, | |
Z3_PK_INVALID = 6, | |
} | |
alias Z3_ast_print_mode = int; | |
enum : Z3_ast_print_mode | |
{ | |
Z3_PRINT_SMTLIB_FULL = 0, | |
Z3_PRINT_LOW_LEVEL = 1, | |
Z3_PRINT_SMTLIB2_COMPLIANT = 2, | |
} | |
alias Z3_error_code = int; | |
enum : Z3_error_code | |
{ | |
Z3_OK = 0, | |
Z3_SORT_ERROR = 1, | |
Z3_IOB = 2, | |
Z3_INVALID_ARG = 3, | |
Z3_PARSER_ERROR = 4, | |
Z3_NO_PARSER = 5, | |
Z3_INVALID_PATTERN = 6, | |
Z3_MEMOUT_FAIL = 7, | |
Z3_FILE_ACCESS_ERROR = 8, | |
Z3_INTERNAL_FATAL = 9, | |
Z3_INVALID_USAGE = 10, | |
Z3_DEC_REF_ERROR = 11, | |
Z3_EXCEPTION = 12, | |
} | |
alias Z3_error_handler = extern(C++) void function(Z3_context, Z3_error_code); | |
alias Z3_push_eh = extern(C++) void function(void*); | |
alias Z3_pop_eh = extern(C++) void function(void*, uint); | |
alias Z3_fresh_eh = extern(C++) void* function(void*, Z3_context); | |
alias Z3_fixed_eh = extern(C++) void function(void*, Z3_solver_callback, uint, Z3_ast); | |
alias Z3_eq_eh = extern(C++) void function(void*, Z3_solver_callback, uint, uint); | |
alias Z3_final_eh = extern(C++) void function(void*, Z3_solver_callback); | |
alias Z3_goal_prec = int; | |
enum : Z3_goal_prec | |
{ | |
Z3_GOAL_PRECISE = 0, | |
Z3_GOAL_UNDER = 1, | |
Z3_GOAL_OVER = 2, | |
Z3_GOAL_UNDER_OVER = 3, | |
} | |
extern(C) | |
void Z3_global_param_set(const(char)* param_id, const(char)* param_value); | |
extern(C) | |
void Z3_global_param_reset_all(); | |
extern(C) | |
Z3_bool Z3_global_param_get(const(char)* param_id, const(char)** param_value); | |
extern(C) | |
Z3_config Z3_mk_config(); | |
extern(C) | |
void Z3_del_config(Z3_config c); | |
extern(C) | |
void Z3_set_param_value(Z3_config c, const(char)* param_id, const(char)* param_value); | |
extern(C) | |
Z3_context Z3_mk_context(Z3_config c); | |
extern(C) | |
Z3_context Z3_mk_context_rc(Z3_config c); | |
extern(C) | |
void Z3_del_context(Z3_context c); | |
extern(C) | |
void Z3_inc_ref(Z3_context c, Z3_ast a); | |
extern(C) | |
void Z3_dec_ref(Z3_context c, Z3_ast a); | |
extern(C) | |
void Z3_update_param_value(Z3_context c, const(char)* param_id, const(char)* param_value); | |
extern(C) | |
void Z3_interrupt(Z3_context c); | |
extern(C) | |
Z3_params Z3_mk_params(Z3_context c); | |
extern(C) | |
void Z3_params_inc_ref(Z3_context c, Z3_params p); | |
extern(C) | |
void Z3_params_dec_ref(Z3_context c, Z3_params p); | |
extern(C) | |
void Z3_params_set_bool(Z3_context c, Z3_params p, Z3_symbol k, bool v); | |
extern(C) | |
void Z3_params_set_uint(Z3_context c, Z3_params p, Z3_symbol k, uint v); | |
extern(C) | |
void Z3_params_set_double(Z3_context c, Z3_params p, Z3_symbol k, double v); | |
extern(C) | |
void Z3_params_set_symbol(Z3_context c, Z3_params p, Z3_symbol k, Z3_symbol v); | |
extern(C) | |
const(char)* Z3_params_to_string(Z3_context c, Z3_params p); | |
extern(C) | |
void Z3_params_validate(Z3_context c, Z3_params p, Z3_param_descrs d); | |
extern(C) | |
void Z3_param_descrs_inc_ref(Z3_context c, Z3_param_descrs p); | |
extern(C) | |
void Z3_param_descrs_dec_ref(Z3_context c, Z3_param_descrs p); | |
extern(C) | |
Z3_param_kind Z3_param_descrs_get_kind(Z3_context c, Z3_param_descrs p, Z3_symbol n); | |
extern(C) | |
uint Z3_param_descrs_size(Z3_context c, Z3_param_descrs p); | |
extern(C) | |
Z3_symbol Z3_param_descrs_get_name(Z3_context c, Z3_param_descrs p, uint i); | |
extern(C) | |
const(char)* Z3_param_descrs_get_documentation(Z3_context c, Z3_param_descrs p, Z3_symbol s); | |
extern(C) | |
const(char)* Z3_param_descrs_to_string(Z3_context c, Z3_param_descrs p); | |
extern(C) | |
Z3_symbol Z3_mk_int_symbol(Z3_context c, int i); | |
extern(C) | |
Z3_symbol Z3_mk_string_symbol(Z3_context c, const(char)* s); | |
extern(C) | |
Z3_sort Z3_mk_uninterpreted_sort(Z3_context c, Z3_symbol s); | |
extern(C) | |
Z3_sort Z3_mk_bool_sort(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_int_sort(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_real_sort(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_bv_sort(Z3_context c, uint sz); | |
extern(C) | |
Z3_sort Z3_mk_finite_domain_sort(Z3_context c, Z3_symbol name, uint64_t size); | |
extern(C) | |
Z3_sort Z3_mk_array_sort(Z3_context c, Z3_sort domain, Z3_sort range); | |
extern(C) | |
Z3_sort Z3_mk_array_sort_n(Z3_context c, uint n, const(Z3_sort)* domain, Z3_sort range); | |
extern(C) | |
Z3_sort Z3_mk_tuple_sort(Z3_context c, Z3_symbol mk_tuple_name, uint num_fields, const(Z3_symbol)* field_names, const(Z3_sort)* field_sorts, Z3_func_decl* mk_tuple_decl, Z3_func_decl* proj_decl); | |
extern(C) | |
Z3_sort Z3_mk_enumeration_sort(Z3_context c, Z3_symbol name, uint n, const(Z3_symbol)* enum_names, Z3_func_decl* enum_consts, Z3_func_decl* enum_testers); | |
extern(C) | |
Z3_sort Z3_mk_list_sort(Z3_context c, Z3_symbol name, Z3_sort elem_sort, Z3_func_decl* nil_decl, Z3_func_decl* is_nil_decl, Z3_func_decl* cons_decl, Z3_func_decl* is_cons_decl, Z3_func_decl* head_decl, Z3_func_decl* tail_decl); | |
extern(C) | |
Z3_constructor Z3_mk_constructor(Z3_context c, Z3_symbol name, Z3_symbol recognizer, uint num_fields, const(Z3_symbol)* field_names, const(Z3_sort)* sorts, uint* sort_refs); | |
extern(C) | |
void Z3_del_constructor(Z3_context c, Z3_constructor constr); | |
extern(C) | |
Z3_sort Z3_mk_datatype(Z3_context c, Z3_symbol name, uint num_constructors, Z3_constructor* constructors); | |
extern(C) | |
Z3_constructor_list Z3_mk_constructor_list(Z3_context c, uint num_constructors, const(Z3_constructor)* constructors); | |
extern(C) | |
void Z3_del_constructor_list(Z3_context c, Z3_constructor_list clist); | |
extern(C) | |
void Z3_mk_datatypes(Z3_context c, uint num_sorts, const(Z3_symbol)* sort_names, Z3_sort* sorts, Z3_constructor_list* constructor_lists); | |
extern(C) | |
void Z3_query_constructor(Z3_context c, Z3_constructor constr, uint num_fields, Z3_func_decl* constructor, Z3_func_decl* tester, Z3_func_decl* accessors); | |
extern(C) | |
Z3_func_decl Z3_mk_func_decl(Z3_context c, Z3_symbol s, uint domain_size, const(Z3_sort)* domain, Z3_sort range); | |
extern(C) | |
Z3_ast Z3_mk_app(Z3_context c, Z3_func_decl d, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_const(Z3_context c, Z3_symbol s, Z3_sort ty); | |
extern(C) | |
Z3_func_decl Z3_mk_fresh_func_decl(Z3_context c, const(char)* prefix, uint domain_size, const(Z3_sort)* domain, Z3_sort range); | |
extern(C) | |
Z3_ast Z3_mk_fresh_const(Z3_context c, const(char)* prefix, Z3_sort ty); | |
extern(C) | |
Z3_func_decl Z3_mk_rec_func_decl(Z3_context c, Z3_symbol s, uint domain_size, const(Z3_sort)* domain, Z3_sort range); | |
extern(C) | |
void Z3_add_rec_def(Z3_context c, Z3_func_decl f, uint n, Z3_ast* args, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_true(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_false(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_eq(Z3_context c, Z3_ast l, Z3_ast r); | |
extern(C) | |
Z3_ast Z3_mk_distinct(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_not(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_mk_ite(Z3_context c, Z3_ast t1, Z3_ast t2, Z3_ast t3); | |
extern(C) | |
Z3_ast Z3_mk_iff(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_implies(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_xor(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_and(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_or(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_add(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_mul(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_sub(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_unary_minus(Z3_context c, Z3_ast arg); | |
extern(C) | |
Z3_ast Z3_mk_div(Z3_context c, Z3_ast arg1, Z3_ast arg2); | |
extern(C) | |
Z3_ast Z3_mk_mod(Z3_context c, Z3_ast arg1, Z3_ast arg2); | |
extern(C) | |
Z3_ast Z3_mk_rem(Z3_context c, Z3_ast arg1, Z3_ast arg2); | |
extern(C) | |
Z3_ast Z3_mk_power(Z3_context c, Z3_ast arg1, Z3_ast arg2); | |
extern(C) | |
Z3_ast Z3_mk_lt(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_le(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_gt(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_ge(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_divides(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_int2real(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_real2int(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_is_int(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bvnot(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bvredand(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bvredor(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bvand(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvor(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvxor(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvnand(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvnor(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvxnor(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvneg(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bvadd(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsub(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvmul(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvudiv(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsdiv(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvurem(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsrem(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsmod(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvult(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvslt(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvule(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsle(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvuge(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsge(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvugt(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsgt(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_concat(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_extract(Z3_context c, uint high, uint low, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_sign_ext(Z3_context c, uint i, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_zero_ext(Z3_context c, uint i, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_repeat(Z3_context c, uint i, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bvshl(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvlshr(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvashr(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_rotate_left(Z3_context c, uint i, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_rotate_right(Z3_context c, uint i, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_ext_rotate_left(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_ext_rotate_right(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_int2bv(Z3_context c, uint n, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bv2int(Z3_context c, Z3_ast t1, bool is_signed); | |
extern(C) | |
Z3_ast Z3_mk_bvadd_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2, bool is_signed); | |
extern(C) | |
Z3_ast Z3_mk_bvadd_no_underflow(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsub_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvsub_no_underflow(Z3_context c, Z3_ast t1, Z3_ast t2, bool is_signed); | |
extern(C) | |
Z3_ast Z3_mk_bvsdiv_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_bvneg_no_overflow(Z3_context c, Z3_ast t1); | |
extern(C) | |
Z3_ast Z3_mk_bvmul_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2, bool is_signed); | |
extern(C) | |
Z3_ast Z3_mk_bvmul_no_underflow(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_select(Z3_context c, Z3_ast a, Z3_ast i); | |
extern(C) | |
Z3_ast Z3_mk_select_n(Z3_context c, Z3_ast a, uint n, const(Z3_ast)* idxs); | |
extern(C) | |
Z3_ast Z3_mk_store(Z3_context c, Z3_ast a, Z3_ast i, Z3_ast v); | |
extern(C) | |
Z3_ast Z3_mk_store_n(Z3_context c, Z3_ast a, uint n, const(Z3_ast)* idxs, Z3_ast v); | |
extern(C) | |
Z3_ast Z3_mk_const_array(Z3_context c, Z3_sort domain, Z3_ast v); | |
extern(C) | |
Z3_ast Z3_mk_map(Z3_context c, Z3_func_decl f, uint n, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_array_default(Z3_context c, Z3_ast array); | |
extern(C) | |
Z3_ast Z3_mk_as_array(Z3_context c, Z3_func_decl f); | |
extern(C) | |
Z3_ast Z3_mk_set_has_size(Z3_context c, Z3_ast set, Z3_ast k); | |
extern(C) | |
Z3_sort Z3_mk_set_sort(Z3_context c, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_empty_set(Z3_context c, Z3_sort domain); | |
extern(C) | |
Z3_ast Z3_mk_full_set(Z3_context c, Z3_sort domain); | |
extern(C) | |
Z3_ast Z3_mk_set_add(Z3_context c, Z3_ast set, Z3_ast elem); | |
extern(C) | |
Z3_ast Z3_mk_set_del(Z3_context c, Z3_ast set, Z3_ast elem); | |
extern(C) | |
Z3_ast Z3_mk_set_union(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_set_intersect(Z3_context c, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_set_difference(Z3_context c, Z3_ast arg1, Z3_ast arg2); | |
extern(C) | |
Z3_ast Z3_mk_set_complement(Z3_context c, Z3_ast arg); | |
extern(C) | |
Z3_ast Z3_mk_set_member(Z3_context c, Z3_ast elem, Z3_ast set); | |
extern(C) | |
Z3_ast Z3_mk_set_subset(Z3_context c, Z3_ast arg1, Z3_ast arg2); | |
extern(C) | |
Z3_ast Z3_mk_array_ext(Z3_context c, Z3_ast arg1, Z3_ast arg2); | |
extern(C) | |
Z3_ast Z3_mk_numeral(Z3_context c, const(char)* numeral, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_real(Z3_context c, int num, int den); | |
extern(C) | |
Z3_ast Z3_mk_int(Z3_context c, int v, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_unsigned_int(Z3_context c, uint v, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_int64(Z3_context c, int64_t v, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_unsigned_int64(Z3_context c, uint64_t v, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_bv_numeral(Z3_context c, uint sz, const(bool)* bits); | |
extern(C) | |
Z3_sort Z3_mk_seq_sort(Z3_context c, Z3_sort s); | |
extern(C) | |
bool Z3_is_seq_sort(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_sort Z3_get_seq_sort_basis(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_sort Z3_mk_re_sort(Z3_context c, Z3_sort seq); | |
extern(C) | |
bool Z3_is_re_sort(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_sort Z3_get_re_sort_basis(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_sort Z3_mk_string_sort(Z3_context c); | |
extern(C) | |
bool Z3_is_string_sort(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_mk_string(Z3_context c, const(char)* s); | |
extern(C) | |
Z3_ast Z3_mk_lstring(Z3_context c, uint len, const(char)* s); | |
extern(C) | |
bool Z3_is_string(Z3_context c, Z3_ast s); | |
extern(C) | |
const(char)* Z3_get_string(Z3_context c, Z3_ast s); | |
extern(C) | |
const(char)* Z3_get_lstring(Z3_context c, Z3_ast s, uint* length); | |
extern(C) | |
Z3_ast Z3_mk_seq_empty(Z3_context c, Z3_sort seq); | |
extern(C) | |
Z3_ast Z3_mk_seq_unit(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_mk_seq_concat(Z3_context c, uint n, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_seq_prefix(Z3_context c, Z3_ast prefix, Z3_ast s); | |
extern(C) | |
Z3_ast Z3_mk_seq_suffix(Z3_context c, Z3_ast suffix, Z3_ast s); | |
extern(C) | |
Z3_ast Z3_mk_seq_contains(Z3_context c, Z3_ast container, Z3_ast containee); | |
extern(C) | |
Z3_ast Z3_mk_str_lt(Z3_context c, Z3_ast prefix, Z3_ast s); | |
extern(C) | |
Z3_ast Z3_mk_str_le(Z3_context c, Z3_ast prefix, Z3_ast s); | |
extern(C) | |
Z3_ast Z3_mk_seq_extract(Z3_context c, Z3_ast s, Z3_ast offset, Z3_ast length); | |
extern(C) | |
Z3_ast Z3_mk_seq_replace(Z3_context c, Z3_ast s, Z3_ast src, Z3_ast dst); | |
extern(C) | |
Z3_ast Z3_mk_seq_at(Z3_context c, Z3_ast s, Z3_ast index); | |
extern(C) | |
Z3_ast Z3_mk_seq_nth(Z3_context c, Z3_ast s, Z3_ast index); | |
extern(C) | |
Z3_ast Z3_mk_seq_length(Z3_context c, Z3_ast s); | |
extern(C) | |
Z3_ast Z3_mk_seq_index(Z3_context c, Z3_ast s, Z3_ast substr, Z3_ast offset); | |
extern(C) | |
Z3_ast Z3_mk_seq_last_index(Z3_context c, Z3_ast , Z3_ast substr); | |
extern(C) | |
Z3_ast Z3_mk_str_to_int(Z3_context c, Z3_ast s); | |
extern(C) | |
Z3_ast Z3_mk_int_to_str(Z3_context c, Z3_ast s); | |
extern(C) | |
Z3_ast Z3_mk_seq_to_re(Z3_context c, Z3_ast seq); | |
extern(C) | |
Z3_ast Z3_mk_seq_in_re(Z3_context c, Z3_ast seq, Z3_ast re); | |
extern(C) | |
Z3_ast Z3_mk_re_plus(Z3_context c, Z3_ast re); | |
extern(C) | |
Z3_ast Z3_mk_re_star(Z3_context c, Z3_ast re); | |
extern(C) | |
Z3_ast Z3_mk_re_option(Z3_context c, Z3_ast re); | |
extern(C) | |
Z3_ast Z3_mk_re_union(Z3_context c, uint n, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_re_concat(Z3_context c, uint n, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_re_range(Z3_context c, Z3_ast lo, Z3_ast hi); | |
extern(C) | |
Z3_ast Z3_mk_re_loop(Z3_context c, Z3_ast r, uint lo, uint hi); | |
extern(C) | |
Z3_ast Z3_mk_re_intersect(Z3_context c, uint n, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_mk_re_complement(Z3_context c, Z3_ast re); | |
extern(C) | |
Z3_ast Z3_mk_re_empty(Z3_context c, Z3_sort re); | |
extern(C) | |
Z3_ast Z3_mk_re_full(Z3_context c, Z3_sort re); | |
extern(C) | |
Z3_func_decl Z3_mk_linear_order(Z3_context c, Z3_sort a, uint id); | |
extern(C) | |
Z3_func_decl Z3_mk_partial_order(Z3_context c, Z3_sort a, uint id); | |
extern(C) | |
Z3_func_decl Z3_mk_piecewise_linear_order(Z3_context c, Z3_sort a, uint id); | |
extern(C) | |
Z3_func_decl Z3_mk_tree_order(Z3_context c, Z3_sort a, uint id); | |
extern(C) | |
Z3_func_decl Z3_mk_transitive_closure(Z3_context c, Z3_func_decl f); | |
extern(C) | |
Z3_pattern Z3_mk_pattern(Z3_context c, uint num_patterns, const(Z3_ast)* terms); | |
extern(C) | |
Z3_ast Z3_mk_bound(Z3_context c, uint index, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_forall(Z3_context c, uint weight, uint num_patterns, const(Z3_pattern)* patterns, uint num_decls, const(Z3_sort)* sorts, const(Z3_symbol)* decl_names, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_exists(Z3_context c, uint weight, uint num_patterns, const(Z3_pattern)* patterns, uint num_decls, const(Z3_sort)* sorts, const(Z3_symbol)* decl_names, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_quantifier(Z3_context c, bool is_forall, uint weight, uint num_patterns, const(Z3_pattern)* patterns, uint num_decls, const(Z3_sort)* sorts, const(Z3_symbol)* decl_names, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_quantifier_ex(Z3_context c, bool is_forall, uint weight, Z3_symbol quantifier_id, Z3_symbol skolem_id, uint num_patterns, const(Z3_pattern)* patterns, uint num_no_patterns, const(Z3_ast)* no_patterns, uint num_decls, const(Z3_sort)* sorts, const(Z3_symbol)* decl_names, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_forall_const(Z3_context c, uint weight, uint num_bound, const(Z3_app)* bound, uint num_patterns, const(Z3_pattern)* patterns, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_exists_const(Z3_context c, uint weight, uint num_bound, const(Z3_app)* bound, uint num_patterns, const(Z3_pattern)* patterns, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_quantifier_const(Z3_context c, bool is_forall, uint weight, uint num_bound, const(Z3_app)* bound, uint num_patterns, const(Z3_pattern)* patterns, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_quantifier_const_ex(Z3_context c, bool is_forall, uint weight, Z3_symbol quantifier_id, Z3_symbol skolem_id, uint num_bound, const(Z3_app)* bound, uint num_patterns, const(Z3_pattern)* patterns, uint num_no_patterns, const(Z3_ast)* no_patterns, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_lambda(Z3_context c, uint num_decls, const(Z3_sort)* sorts, const(Z3_symbol)* decl_names, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_mk_lambda_const(Z3_context c, uint num_bound, const(Z3_app)* bound, Z3_ast body_); | |
extern(C) | |
Z3_symbol_kind Z3_get_symbol_kind(Z3_context c, Z3_symbol s); | |
extern(C) | |
int Z3_get_symbol_int(Z3_context c, Z3_symbol s); | |
extern(C) | |
const(char)* Z3_get_symbol_string(Z3_context c, Z3_symbol s); | |
extern(C) | |
Z3_symbol Z3_get_sort_name(Z3_context c, Z3_sort d); | |
extern(C) | |
uint Z3_get_sort_id(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_sort_to_ast(Z3_context c, Z3_sort s); | |
extern(C) | |
bool Z3_is_eq_sort(Z3_context c, Z3_sort s1, Z3_sort s2); | |
extern(C) | |
Z3_sort_kind Z3_get_sort_kind(Z3_context c, Z3_sort t); | |
extern(C) | |
uint Z3_get_bv_sort_size(Z3_context c, Z3_sort t); | |
extern(C) | |
Z3_bool Z3_get_finite_domain_sort_size(Z3_context c, Z3_sort s, uint64_t* r); | |
extern(C) | |
Z3_sort Z3_get_array_sort_domain(Z3_context c, Z3_sort t); | |
extern(C) | |
Z3_sort Z3_get_array_sort_range(Z3_context c, Z3_sort t); | |
extern(C) | |
Z3_func_decl Z3_get_tuple_sort_mk_decl(Z3_context c, Z3_sort t); | |
extern(C) | |
uint Z3_get_tuple_sort_num_fields(Z3_context c, Z3_sort t); | |
extern(C) | |
Z3_func_decl Z3_get_tuple_sort_field_decl(Z3_context c, Z3_sort t, uint i); | |
extern(C) | |
uint Z3_get_datatype_sort_num_constructors(Z3_context c, Z3_sort t); | |
extern(C) | |
Z3_func_decl Z3_get_datatype_sort_constructor(Z3_context c, Z3_sort t, uint idx); | |
extern(C) | |
Z3_func_decl Z3_get_datatype_sort_recognizer(Z3_context c, Z3_sort t, uint idx); | |
extern(C) | |
Z3_func_decl Z3_get_datatype_sort_constructor_accessor(Z3_context c, Z3_sort t, uint idx_c, uint idx_a); | |
extern(C) | |
Z3_ast Z3_datatype_update_field(Z3_context c, Z3_func_decl field_access, Z3_ast t, Z3_ast value); | |
extern(C) | |
uint Z3_get_relation_arity(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_sort Z3_get_relation_column(Z3_context c, Z3_sort s, uint col); | |
extern(C) | |
Z3_ast Z3_mk_atmost(Z3_context c, uint num_args, const(Z3_ast)* args, uint k); | |
extern(C) | |
Z3_ast Z3_mk_atleast(Z3_context c, uint num_args, const(Z3_ast)* args, uint k); | |
extern(C) | |
Z3_ast Z3_mk_pble(Z3_context c, uint num_args, const(Z3_ast)* args, const(int)* coeffs, int k); | |
extern(C) | |
Z3_ast Z3_mk_pbge(Z3_context c, uint num_args, const(Z3_ast)* args, const(int)* coeffs, int k); | |
extern(C) | |
Z3_ast Z3_mk_pbeq(Z3_context c, uint num_args, const(Z3_ast)* args, const(int)* coeffs, int k); | |
extern(C) | |
Z3_ast Z3_func_decl_to_ast(Z3_context c, Z3_func_decl f); | |
extern(C) | |
bool Z3_is_eq_func_decl(Z3_context c, Z3_func_decl f1, Z3_func_decl f2); | |
extern(C) | |
uint Z3_get_func_decl_id(Z3_context c, Z3_func_decl f); | |
extern(C) | |
Z3_symbol Z3_get_decl_name(Z3_context c, Z3_func_decl d); | |
extern(C) | |
Z3_decl_kind Z3_get_decl_kind(Z3_context c, Z3_func_decl d); | |
extern(C) | |
uint Z3_get_domain_size(Z3_context c, Z3_func_decl d); | |
extern(C) | |
uint Z3_get_arity(Z3_context c, Z3_func_decl d); | |
extern(C) | |
Z3_sort Z3_get_domain(Z3_context c, Z3_func_decl d, uint i); | |
extern(C) | |
Z3_sort Z3_get_range(Z3_context c, Z3_func_decl d); | |
extern(C) | |
uint Z3_get_decl_num_parameters(Z3_context c, Z3_func_decl d); | |
extern(C) | |
Z3_parameter_kind Z3_get_decl_parameter_kind(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
int Z3_get_decl_int_parameter(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
double Z3_get_decl_double_parameter(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
Z3_symbol Z3_get_decl_symbol_parameter(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
Z3_sort Z3_get_decl_sort_parameter(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
Z3_ast Z3_get_decl_ast_parameter(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
Z3_func_decl Z3_get_decl_func_decl_parameter(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
const(char)* Z3_get_decl_rational_parameter(Z3_context c, Z3_func_decl d, uint idx); | |
extern(C) | |
Z3_ast Z3_app_to_ast(Z3_context c, Z3_app a); | |
extern(C) | |
Z3_func_decl Z3_get_app_decl(Z3_context c, Z3_app a); | |
extern(C) | |
uint Z3_get_app_num_args(Z3_context c, Z3_app a); | |
extern(C) | |
Z3_ast Z3_get_app_arg(Z3_context c, Z3_app a, uint i); | |
extern(C) | |
bool Z3_is_eq_ast(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
uint Z3_get_ast_id(Z3_context c, Z3_ast t); | |
extern(C) | |
uint Z3_get_ast_hash(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_sort Z3_get_sort(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_is_well_sorted(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_lbool Z3_get_bool_value(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast_kind Z3_get_ast_kind(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_is_app(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_is_numeral_ast(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_is_algebraic_number(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_app Z3_to_app(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_func_decl Z3_to_func_decl(Z3_context c, Z3_ast a); | |
extern(C) | |
const(char)* Z3_get_numeral_string(Z3_context c, Z3_ast a); | |
extern(C) | |
const(char)* Z3_get_numeral_binary_string(Z3_context c, Z3_ast a); | |
extern(C) | |
const(char)* Z3_get_numeral_decimal_string(Z3_context c, Z3_ast a, uint precision); | |
extern(C) | |
double Z3_get_numeral_double(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_get_numerator(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_get_denominator(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_get_numeral_small(Z3_context c, Z3_ast a, int64_t* num, int64_t* den); | |
extern(C) | |
bool Z3_get_numeral_int(Z3_context c, Z3_ast v, int* i); | |
extern(C) | |
bool Z3_get_numeral_uint(Z3_context c, Z3_ast v, uint* u); | |
extern(C) | |
bool Z3_get_numeral_uint64(Z3_context c, Z3_ast v, uint64_t* u); | |
extern(C) | |
bool Z3_get_numeral_int64(Z3_context c, Z3_ast v, int64_t* i); | |
extern(C) | |
bool Z3_get_numeral_rational_int64(Z3_context c, Z3_ast v, int64_t* num, int64_t* den); | |
extern(C) | |
Z3_ast Z3_get_algebraic_number_lower(Z3_context c, Z3_ast a, uint precision); | |
extern(C) | |
Z3_ast Z3_get_algebraic_number_upper(Z3_context c, Z3_ast a, uint precision); | |
extern(C) | |
Z3_ast Z3_pattern_to_ast(Z3_context c, Z3_pattern p); | |
extern(C) | |
uint Z3_get_pattern_num_terms(Z3_context c, Z3_pattern p); | |
extern(C) | |
Z3_ast Z3_get_pattern(Z3_context c, Z3_pattern p, uint idx); | |
extern(C) | |
uint Z3_get_index_value(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_is_quantifier_forall(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_is_quantifier_exists(Z3_context c, Z3_ast a); | |
extern(C) | |
bool Z3_is_lambda(Z3_context c, Z3_ast a); | |
extern(C) | |
uint Z3_get_quantifier_weight(Z3_context c, Z3_ast a); | |
extern(C) | |
uint Z3_get_quantifier_num_patterns(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_pattern Z3_get_quantifier_pattern_ast(Z3_context c, Z3_ast a, uint i); | |
extern(C) | |
uint Z3_get_quantifier_num_no_patterns(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_get_quantifier_no_pattern_ast(Z3_context c, Z3_ast a, uint i); | |
extern(C) | |
uint Z3_get_quantifier_num_bound(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_symbol Z3_get_quantifier_bound_name(Z3_context c, Z3_ast a, uint i); | |
extern(C) | |
Z3_sort Z3_get_quantifier_bound_sort(Z3_context c, Z3_ast a, uint i); | |
extern(C) | |
Z3_ast Z3_get_quantifier_body(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_simplify(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_ast Z3_simplify_ex(Z3_context c, Z3_ast a, Z3_params p); | |
extern(C) | |
const(char)* Z3_simplify_get_help(Z3_context c); | |
extern(C) | |
Z3_param_descrs Z3_simplify_get_param_descrs(Z3_context c); | |
extern(C) | |
Z3_ast Z3_update_term(Z3_context c, Z3_ast a, uint num_args, const(Z3_ast)* args); | |
extern(C) | |
Z3_ast Z3_substitute(Z3_context c, Z3_ast a, uint num_exprs, const(Z3_ast)* from, const(Z3_ast)* to); | |
extern(C) | |
Z3_ast Z3_substitute_vars(Z3_context c, Z3_ast a, uint num_exprs, const(Z3_ast)* to); | |
extern(C) | |
Z3_ast Z3_translate(Z3_context source, Z3_ast a, Z3_context target); | |
extern(C) | |
Z3_model Z3_mk_model(Z3_context c); | |
extern(C) | |
void Z3_model_inc_ref(Z3_context c, Z3_model m); | |
extern(C) | |
void Z3_model_dec_ref(Z3_context c, Z3_model m); | |
extern(C) | |
Z3_bool Z3_model_eval(Z3_context c, Z3_model m, Z3_ast t, bool model_completion, Z3_ast* v); | |
extern(C) | |
Z3_ast Z3_model_get_const_interp(Z3_context c, Z3_model m, Z3_func_decl a); | |
extern(C) | |
bool Z3_model_has_interp(Z3_context c, Z3_model m, Z3_func_decl a); | |
extern(C) | |
Z3_func_interp Z3_model_get_func_interp(Z3_context c, Z3_model m, Z3_func_decl f); | |
extern(C) | |
uint Z3_model_get_num_consts(Z3_context c, Z3_model m); | |
extern(C) | |
Z3_func_decl Z3_model_get_const_decl(Z3_context c, Z3_model m, uint i); | |
extern(C) | |
uint Z3_model_get_num_funcs(Z3_context c, Z3_model m); | |
extern(C) | |
Z3_func_decl Z3_model_get_func_decl(Z3_context c, Z3_model m, uint i); | |
extern(C) | |
uint Z3_model_get_num_sorts(Z3_context c, Z3_model m); | |
extern(C) | |
Z3_sort Z3_model_get_sort(Z3_context c, Z3_model m, uint i); | |
extern(C) | |
Z3_ast_vector Z3_model_get_sort_universe(Z3_context c, Z3_model m, Z3_sort s); | |
extern(C) | |
Z3_model Z3_model_translate(Z3_context c, Z3_model m, Z3_context dst); | |
extern(C) | |
bool Z3_is_as_array(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_func_decl Z3_get_as_array_func_decl(Z3_context c, Z3_ast a); | |
extern(C) | |
Z3_func_interp Z3_add_func_interp(Z3_context c, Z3_model m, Z3_func_decl f, Z3_ast default_value); | |
extern(C) | |
void Z3_add_const_interp(Z3_context c, Z3_model m, Z3_func_decl f, Z3_ast a); | |
extern(C) | |
void Z3_func_interp_inc_ref(Z3_context c, Z3_func_interp f); | |
extern(C) | |
void Z3_func_interp_dec_ref(Z3_context c, Z3_func_interp f); | |
extern(C) | |
uint Z3_func_interp_get_num_entries(Z3_context c, Z3_func_interp f); | |
extern(C) | |
Z3_func_entry Z3_func_interp_get_entry(Z3_context c, Z3_func_interp f, uint i); | |
extern(C) | |
Z3_ast Z3_func_interp_get_else(Z3_context c, Z3_func_interp f); | |
extern(C) | |
void Z3_func_interp_set_else(Z3_context c, Z3_func_interp f, Z3_ast else_value); | |
extern(C) | |
uint Z3_func_interp_get_arity(Z3_context c, Z3_func_interp f); | |
extern(C) | |
void Z3_func_interp_add_entry(Z3_context c, Z3_func_interp fi, Z3_ast_vector args, Z3_ast value); | |
extern(C) | |
void Z3_func_entry_inc_ref(Z3_context c, Z3_func_entry e); | |
extern(C) | |
void Z3_func_entry_dec_ref(Z3_context c, Z3_func_entry e); | |
extern(C) | |
Z3_ast Z3_func_entry_get_value(Z3_context c, Z3_func_entry e); | |
extern(C) | |
uint Z3_func_entry_get_num_args(Z3_context c, Z3_func_entry e); | |
extern(C) | |
Z3_ast Z3_func_entry_get_arg(Z3_context c, Z3_func_entry e, uint i); | |
extern(C) | |
bool Z3_open_log(const(char)* filename); | |
extern(C) | |
void Z3_append_log(const(char)* string_); | |
extern(C) | |
void Z3_close_log(); | |
extern(C) | |
void Z3_toggle_warning_messages(bool enabled); | |
extern(C) | |
void Z3_set_ast_print_mode(Z3_context c, Z3_ast_print_mode mode); | |
extern(C) | |
const(char)* Z3_ast_to_string(Z3_context c, Z3_ast a); | |
extern(C) | |
const(char)* Z3_pattern_to_string(Z3_context c, Z3_pattern p); | |
extern(C) | |
const(char)* Z3_sort_to_string(Z3_context c, Z3_sort s); | |
extern(C) | |
const(char)* Z3_func_decl_to_string(Z3_context c, Z3_func_decl d); | |
extern(C) | |
const(char)* Z3_model_to_string(Z3_context c, Z3_model m); | |
extern(C) | |
const(char)* Z3_benchmark_to_smtlib_string(Z3_context c, const(char)* name, const(char)* logic, const(char)* status, const(char)* attributes, uint num_assumptions, const(Z3_ast)* assumptions, Z3_ast formula); | |
extern(C) | |
Z3_ast_vector Z3_parse_smtlib2_string(Z3_context c, const(char)* str, uint num_sorts, const(Z3_symbol)* sort_names, const(Z3_sort)* sorts, uint num_decls, const(Z3_symbol)* decl_names, const(Z3_func_decl)* decls); | |
extern(C) | |
Z3_ast_vector Z3_parse_smtlib2_file(Z3_context c, const(char)* file_name, uint num_sorts, const(Z3_symbol)* sort_names, const(Z3_sort)* sorts, uint num_decls, const(Z3_symbol)* decl_names, const(Z3_func_decl)* decls); | |
extern(C) | |
const(char)* Z3_eval_smtlib2_string(Z3_context , const(char)* str); | |
extern(C) | |
Z3_error_code Z3_get_error_code(Z3_context c); | |
extern(C) | |
void Z3_set_error_handler(Z3_context c, Z3_error_handler h); | |
extern(C) | |
void Z3_set_error(Z3_context c, Z3_error_code e); | |
extern(C) | |
const(char)* Z3_get_error_msg(Z3_context c, Z3_error_code err); | |
extern(C) | |
void Z3_get_version(uint* major, uint* minor, uint* build_number, uint* revision_number); | |
extern(C) | |
const(char)* Z3_get_full_version(); | |
extern(C) | |
void Z3_enable_trace(const(char)* tag); | |
extern(C) | |
void Z3_disable_trace(const(char)* tag); | |
extern(C) | |
void Z3_reset_memory(); | |
extern(C) | |
void Z3_finalize_memory(); | |
extern(C) | |
Z3_goal Z3_mk_goal(Z3_context c, bool models, bool unsat_cores, bool proofs); | |
extern(C) | |
void Z3_goal_inc_ref(Z3_context c, Z3_goal g); | |
extern(C) | |
void Z3_goal_dec_ref(Z3_context c, Z3_goal g); | |
extern(C) | |
Z3_goal_prec Z3_goal_precision(Z3_context c, Z3_goal g); | |
extern(C) | |
void Z3_goal_assert(Z3_context c, Z3_goal g, Z3_ast a); | |
extern(C) | |
bool Z3_goal_inconsistent(Z3_context c, Z3_goal g); | |
extern(C) | |
uint Z3_goal_depth(Z3_context c, Z3_goal g); | |
extern(C) | |
void Z3_goal_reset(Z3_context c, Z3_goal g); | |
extern(C) | |
uint Z3_goal_size(Z3_context c, Z3_goal g); | |
extern(C) | |
Z3_ast Z3_goal_formula(Z3_context c, Z3_goal g, uint idx); | |
extern(C) | |
uint Z3_goal_num_exprs(Z3_context c, Z3_goal g); | |
extern(C) | |
bool Z3_goal_is_decided_sat(Z3_context c, Z3_goal g); | |
extern(C) | |
bool Z3_goal_is_decided_unsat(Z3_context c, Z3_goal g); | |
extern(C) | |
Z3_goal Z3_goal_translate(Z3_context source, Z3_goal g, Z3_context target); | |
extern(C) | |
Z3_model Z3_goal_convert_model(Z3_context c, Z3_goal g, Z3_model m); | |
extern(C) | |
const(char)* Z3_goal_to_string(Z3_context c, Z3_goal g); | |
extern(C) | |
const(char)* Z3_goal_to_dimacs_string(Z3_context c, Z3_goal g, bool include_names); | |
extern(C) | |
Z3_tactic Z3_mk_tactic(Z3_context c, const(char)* name); | |
extern(C) | |
void Z3_tactic_inc_ref(Z3_context c, Z3_tactic t); | |
extern(C) | |
void Z3_tactic_dec_ref(Z3_context c, Z3_tactic g); | |
extern(C) | |
Z3_probe Z3_mk_probe(Z3_context c, const(char)* name); | |
extern(C) | |
void Z3_probe_inc_ref(Z3_context c, Z3_probe p); | |
extern(C) | |
void Z3_probe_dec_ref(Z3_context c, Z3_probe p); | |
extern(C) | |
Z3_tactic Z3_tactic_and_then(Z3_context c, Z3_tactic t1, Z3_tactic t2); | |
extern(C) | |
Z3_tactic Z3_tactic_or_else(Z3_context c, Z3_tactic t1, Z3_tactic t2); | |
extern(C) | |
Z3_tactic Z3_tactic_par_or(Z3_context c, uint num, const(Z3_tactic)* ts); | |
extern(C) | |
Z3_tactic Z3_tactic_par_and_then(Z3_context c, Z3_tactic t1, Z3_tactic t2); | |
extern(C) | |
Z3_tactic Z3_tactic_try_for(Z3_context c, Z3_tactic t, uint ms); | |
extern(C) | |
Z3_tactic Z3_tactic_when(Z3_context c, Z3_probe p, Z3_tactic t); | |
extern(C) | |
Z3_tactic Z3_tactic_cond(Z3_context c, Z3_probe p, Z3_tactic t1, Z3_tactic t2); | |
extern(C) | |
Z3_tactic Z3_tactic_repeat(Z3_context c, Z3_tactic t, uint max); | |
extern(C) | |
Z3_tactic Z3_tactic_skip(Z3_context c); | |
extern(C) | |
Z3_tactic Z3_tactic_fail(Z3_context c); | |
extern(C) | |
Z3_tactic Z3_tactic_fail_if(Z3_context c, Z3_probe p); | |
extern(C) | |
Z3_tactic Z3_tactic_fail_if_not_decided(Z3_context c); | |
extern(C) | |
Z3_tactic Z3_tactic_using_params(Z3_context c, Z3_tactic t, Z3_params p); | |
extern(C) | |
Z3_probe Z3_probe_const(Z3_context x, double val); | |
extern(C) | |
Z3_probe Z3_probe_lt(Z3_context x, Z3_probe p1, Z3_probe p2); | |
extern(C) | |
Z3_probe Z3_probe_gt(Z3_context x, Z3_probe p1, Z3_probe p2); | |
extern(C) | |
Z3_probe Z3_probe_le(Z3_context x, Z3_probe p1, Z3_probe p2); | |
extern(C) | |
Z3_probe Z3_probe_ge(Z3_context x, Z3_probe p1, Z3_probe p2); | |
extern(C) | |
Z3_probe Z3_probe_eq(Z3_context x, Z3_probe p1, Z3_probe p2); | |
extern(C) | |
Z3_probe Z3_probe_and(Z3_context x, Z3_probe p1, Z3_probe p2); | |
extern(C) | |
Z3_probe Z3_probe_or(Z3_context x, Z3_probe p1, Z3_probe p2); | |
extern(C) | |
Z3_probe Z3_probe_not(Z3_context x, Z3_probe p); | |
extern(C) | |
uint Z3_get_num_tactics(Z3_context c); | |
extern(C) | |
const(char)* Z3_get_tactic_name(Z3_context c, uint i); | |
extern(C) | |
uint Z3_get_num_probes(Z3_context c); | |
extern(C) | |
const(char)* Z3_get_probe_name(Z3_context c, uint i); | |
extern(C) | |
const(char)* Z3_tactic_get_help(Z3_context c, Z3_tactic t); | |
extern(C) | |
Z3_param_descrs Z3_tactic_get_param_descrs(Z3_context c, Z3_tactic t); | |
extern(C) | |
const(char)* Z3_tactic_get_descr(Z3_context c, const(char)* name); | |
extern(C) | |
const(char)* Z3_probe_get_descr(Z3_context c, const(char)* name); | |
extern(C) | |
double Z3_probe_apply(Z3_context c, Z3_probe p, Z3_goal g); | |
extern(C) | |
Z3_apply_result Z3_tactic_apply(Z3_context c, Z3_tactic t, Z3_goal g); | |
extern(C) | |
Z3_apply_result Z3_tactic_apply_ex(Z3_context c, Z3_tactic t, Z3_goal g, Z3_params p); | |
extern(C) | |
void Z3_apply_result_inc_ref(Z3_context c, Z3_apply_result r); | |
extern(C) | |
void Z3_apply_result_dec_ref(Z3_context c, Z3_apply_result r); | |
extern(C) | |
const(char)* Z3_apply_result_to_string(Z3_context c, Z3_apply_result r); | |
extern(C) | |
uint Z3_apply_result_get_num_subgoals(Z3_context c, Z3_apply_result r); | |
extern(C) | |
Z3_goal Z3_apply_result_get_subgoal(Z3_context c, Z3_apply_result r, uint i); | |
extern(C) | |
Z3_solver Z3_mk_solver(Z3_context c); | |
extern(C) | |
Z3_solver Z3_mk_simple_solver(Z3_context c); | |
extern(C) | |
Z3_solver Z3_mk_solver_for_logic(Z3_context c, Z3_symbol logic); | |
extern(C) | |
Z3_solver Z3_mk_solver_from_tactic(Z3_context c, Z3_tactic t); | |
extern(C) | |
Z3_solver Z3_solver_translate(Z3_context source, Z3_solver s, Z3_context target); | |
extern(C) | |
void Z3_solver_import_model_converter(Z3_context ctx, Z3_solver src, Z3_solver dst); | |
extern(C) | |
const(char)* Z3_solver_get_help(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_param_descrs Z3_solver_get_param_descrs(Z3_context c, Z3_solver s); | |
extern(C) | |
void Z3_solver_set_params(Z3_context c, Z3_solver s, Z3_params p); | |
extern(C) | |
void Z3_solver_inc_ref(Z3_context c, Z3_solver s); | |
extern(C) | |
void Z3_solver_dec_ref(Z3_context c, Z3_solver s); | |
extern(C) | |
void Z3_solver_interrupt(Z3_context c, Z3_solver s); | |
extern(C) | |
void Z3_solver_push(Z3_context c, Z3_solver s); | |
extern(C) | |
void Z3_solver_pop(Z3_context c, Z3_solver s, uint n); | |
extern(C) | |
void Z3_solver_reset(Z3_context c, Z3_solver s); | |
extern(C) | |
uint Z3_solver_get_num_scopes(Z3_context c, Z3_solver s); | |
extern(C) | |
void Z3_solver_assert(Z3_context c, Z3_solver s, Z3_ast a); | |
extern(C) | |
void Z3_solver_assert_and_track(Z3_context c, Z3_solver s, Z3_ast a, Z3_ast p); | |
extern(C) | |
void Z3_solver_from_file(Z3_context c, Z3_solver s, const(char)* file_name); | |
extern(C) | |
void Z3_solver_from_string(Z3_context c, Z3_solver s, const(char)* file_name); | |
extern(C) | |
Z3_ast_vector Z3_solver_get_assertions(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_ast_vector Z3_solver_get_units(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_ast_vector Z3_solver_get_trail(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_ast_vector Z3_solver_get_non_units(Z3_context c, Z3_solver s); | |
extern(C) | |
void Z3_solver_get_levels(Z3_context c, Z3_solver s, Z3_ast_vector literals, uint sz, uint* levels); | |
extern(C) | |
void Z3_solver_propagate_init(Z3_context c, Z3_solver s, void* user_context, Z3_push_eh push_eh, Z3_pop_eh pop_eh, Z3_fresh_eh fresh_eh); | |
extern(C) | |
void Z3_solver_propagate_fixed(Z3_context c, Z3_solver s, Z3_fixed_eh fixed_eh); | |
extern(C) | |
void Z3_solver_propagate_final(Z3_context c, Z3_solver s, Z3_final_eh final_eh); | |
extern(C) | |
void Z3_solver_propagate_eq(Z3_context c, Z3_solver s, Z3_eq_eh eq_eh); | |
extern(C) | |
void Z3_solver_propagate_diseq(Z3_context c, Z3_solver s, Z3_eq_eh eq_eh); | |
extern(C) | |
uint Z3_solver_propagate_register(Z3_context c, Z3_solver s, Z3_ast e); | |
extern(C) | |
void Z3_solver_propagate_consequence(Z3_context c, Z3_solver_callback , uint num_fixed, const(uint)* fixed_ids, uint num_eqs, const(uint)* eq_lhs, const(uint)* eq_rhs, Z3_ast conseq); | |
extern(C) | |
Z3_lbool Z3_solver_check(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_lbool Z3_solver_check_assumptions(Z3_context c, Z3_solver s, uint num_assumptions, const(Z3_ast)* assumptions); | |
extern(C) | |
Z3_lbool Z3_get_implied_equalities(Z3_context c, Z3_solver s, uint num_terms, const(Z3_ast)* terms, uint* class_ids); | |
extern(C) | |
Z3_lbool Z3_solver_get_consequences(Z3_context c, Z3_solver s, Z3_ast_vector assumptions, Z3_ast_vector variables, Z3_ast_vector consequences); | |
extern(C) | |
Z3_ast_vector Z3_solver_cube(Z3_context c, Z3_solver s, Z3_ast_vector vars, uint backtrack_level); | |
extern(C) | |
Z3_model Z3_solver_get_model(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_ast Z3_solver_get_proof(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_ast_vector Z3_solver_get_unsat_core(Z3_context c, Z3_solver s); | |
extern(C) | |
const(char)* Z3_solver_get_reason_unknown(Z3_context c, Z3_solver s); | |
extern(C) | |
Z3_stats Z3_solver_get_statistics(Z3_context c, Z3_solver s); | |
extern(C) | |
const(char)* Z3_solver_to_string(Z3_context c, Z3_solver s); | |
extern(C) | |
const(char)* Z3_solver_to_dimacs_string(Z3_context c, Z3_solver s, bool include_names); | |
extern(C) | |
const(char)* Z3_stats_to_string(Z3_context c, Z3_stats s); | |
extern(C) | |
void Z3_stats_inc_ref(Z3_context c, Z3_stats s); | |
extern(C) | |
void Z3_stats_dec_ref(Z3_context c, Z3_stats s); | |
extern(C) | |
uint Z3_stats_size(Z3_context c, Z3_stats s); | |
extern(C) | |
const(char)* Z3_stats_get_key(Z3_context c, Z3_stats s, uint idx); | |
extern(C) | |
bool Z3_stats_is_uint(Z3_context c, Z3_stats s, uint idx); | |
extern(C) | |
bool Z3_stats_is_double(Z3_context c, Z3_stats s, uint idx); | |
extern(C) | |
uint Z3_stats_get_uint_value(Z3_context c, Z3_stats s, uint idx); | |
extern(C) | |
double Z3_stats_get_double_value(Z3_context c, Z3_stats s, uint idx); | |
extern(C) | |
uint64_t Z3_get_estimated_alloc_size(); | |
extern(C) | |
Z3_ast_vector Z3_mk_ast_vector(Z3_context c); | |
extern(C) | |
void Z3_ast_vector_inc_ref(Z3_context c, Z3_ast_vector v); | |
extern(C) | |
void Z3_ast_vector_dec_ref(Z3_context c, Z3_ast_vector v); | |
extern(C) | |
uint Z3_ast_vector_size(Z3_context c, Z3_ast_vector v); | |
extern(C) | |
Z3_ast Z3_ast_vector_get(Z3_context c, Z3_ast_vector v, uint i); | |
extern(C) | |
void Z3_ast_vector_set(Z3_context c, Z3_ast_vector v, uint i, Z3_ast a); | |
extern(C) | |
void Z3_ast_vector_resize(Z3_context c, Z3_ast_vector v, uint n); | |
extern(C) | |
void Z3_ast_vector_push(Z3_context c, Z3_ast_vector v, Z3_ast a); | |
extern(C) | |
Z3_ast_vector Z3_ast_vector_translate(Z3_context s, Z3_ast_vector v, Z3_context t); | |
extern(C) | |
const(char)* Z3_ast_vector_to_string(Z3_context c, Z3_ast_vector v); | |
extern(C) | |
Z3_ast_map Z3_mk_ast_map(Z3_context c); | |
extern(C) | |
void Z3_ast_map_inc_ref(Z3_context c, Z3_ast_map m); | |
extern(C) | |
void Z3_ast_map_dec_ref(Z3_context c, Z3_ast_map m); | |
extern(C) | |
bool Z3_ast_map_contains(Z3_context c, Z3_ast_map m, Z3_ast k); | |
extern(C) | |
Z3_ast Z3_ast_map_find(Z3_context c, Z3_ast_map m, Z3_ast k); | |
extern(C) | |
void Z3_ast_map_insert(Z3_context c, Z3_ast_map m, Z3_ast k, Z3_ast v); | |
extern(C) | |
void Z3_ast_map_erase(Z3_context c, Z3_ast_map m, Z3_ast k); | |
extern(C) | |
void Z3_ast_map_reset(Z3_context c, Z3_ast_map m); | |
extern(C) | |
uint Z3_ast_map_size(Z3_context c, Z3_ast_map m); | |
extern(C) | |
Z3_ast_vector Z3_ast_map_keys(Z3_context c, Z3_ast_map m); | |
extern(C) | |
const(char)* Z3_ast_map_to_string(Z3_context c, Z3_ast_map m); | |
extern(C) | |
Z3_fixedpoint Z3_mk_fixedpoint(Z3_context c); | |
extern(C) | |
void Z3_fixedpoint_inc_ref(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
void Z3_fixedpoint_dec_ref(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
void Z3_fixedpoint_add_rule(Z3_context c, Z3_fixedpoint d, Z3_ast rule, Z3_symbol name); | |
extern(C) | |
void Z3_fixedpoint_add_fact(Z3_context c, Z3_fixedpoint d, Z3_func_decl r, uint num_args, uint* args); | |
extern(C) | |
void Z3_fixedpoint_assert(Z3_context c, Z3_fixedpoint d, Z3_ast axiom); | |
extern(C) | |
Z3_bool Z3_fixedpoint_query(Z3_context c, Z3_fixedpoint d, Z3_ast query); | |
extern(C) | |
Z3_bool Z3_fixedpoint_query_relations(Z3_context c, Z3_fixedpoint d, uint num_relations, const(Z3_func_decl)* relations); | |
extern(C) | |
Z3_ast Z3_fixedpoint_get_answer(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
const(char)* Z3_fixedpoint_get_reason_unknown(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
void Z3_fixedpoint_update_rule(Z3_context c, Z3_fixedpoint d, Z3_ast a, Z3_symbol name); | |
extern(C) | |
uint Z3_fixedpoint_get_num_levels(Z3_context c, Z3_fixedpoint d, Z3_func_decl pred); | |
extern(C) | |
Z3_ast Z3_fixedpoint_get_cover_delta(Z3_context c, Z3_fixedpoint d, int level, Z3_func_decl pred); | |
extern(C) | |
void Z3_fixedpoint_add_cover(Z3_context c, Z3_fixedpoint d, int level, Z3_func_decl pred, Z3_ast property); | |
extern(C) | |
Z3_stats Z3_fixedpoint_get_statistics(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
void Z3_fixedpoint_register_relation(Z3_context c, Z3_fixedpoint d, Z3_func_decl f); | |
extern(C) | |
void Z3_fixedpoint_set_predicate_representation(Z3_context c, Z3_fixedpoint d, Z3_func_decl f, uint num_relations, const(Z3_symbol)* relation_kinds); | |
extern(C) | |
Z3_ast_vector Z3_fixedpoint_get_rules(Z3_context c, Z3_fixedpoint f); | |
extern(C) | |
Z3_ast_vector Z3_fixedpoint_get_assertions(Z3_context c, Z3_fixedpoint f); | |
extern(C) | |
void Z3_fixedpoint_set_params(Z3_context c, Z3_fixedpoint f, Z3_params p); | |
extern(C) | |
const(char)* Z3_fixedpoint_get_help(Z3_context c, Z3_fixedpoint f); | |
extern(C) | |
Z3_param_descrs Z3_fixedpoint_get_param_descrs(Z3_context c, Z3_fixedpoint f); | |
extern(C) | |
const(char)* Z3_fixedpoint_to_string(Z3_context c, Z3_fixedpoint f, uint num_queries, Z3_ast* queries); | |
extern(C) | |
Z3_ast_vector Z3_fixedpoint_from_string(Z3_context c, Z3_fixedpoint f, const(char)* s); | |
extern(C) | |
Z3_ast_vector Z3_fixedpoint_from_file(Z3_context c, Z3_fixedpoint f, const(char)* s); | |
alias Z3_fixedpoint_reduce_assign_callback_fptr = extern(C) void function(void*, Z3_func_decl, uint, const(Z3_ast)*, uint, const(Z3_ast)*); | |
alias Z3_fixedpoint_reduce_app_callback_fptr = extern(C) void function(void*, Z3_func_decl, uint, const(Z3_ast)*, Z3_ast*); | |
extern(C) | |
void Z3_fixedpoint_init(Z3_context c, Z3_fixedpoint d, void* state); | |
extern(C) | |
void Z3_fixedpoint_set_reduce_assign_callback(Z3_context c, Z3_fixedpoint d, Z3_fixedpoint_reduce_assign_callback_fptr cb); | |
extern(C) | |
void Z3_fixedpoint_set_reduce_app_callback(Z3_context c, Z3_fixedpoint d, Z3_fixedpoint_reduce_app_callback_fptr cb); | |
alias Z3_fixedpoint_new_lemma_eh = extern(C) void function(void*, Z3_ast, uint); | |
alias Z3_fixedpoint_predecessor_eh = extern(C) void function(void*); | |
alias Z3_fixedpoint_unfold_eh = extern(C) void function(void*); | |
extern(C) | |
void Z3_fixedpoint_add_callback(Z3_context ctx, Z3_fixedpoint f, void* state, void function(void*, Z3_ast, uint) new_lemma_eh, void function(void*) predecessor_eh, void function(void*) unfold_eh); | |
extern(C) | |
void Z3_fixedpoint_add_constraint(Z3_context c, Z3_fixedpoint d, Z3_ast e, uint lvl); | |
extern(C) | |
Z3_sort Z3_mk_fpa_rounding_mode_sort(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_round_nearest_ties_to_even(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_rne(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_round_nearest_ties_to_away(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_rna(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_round_toward_positive(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_rtp(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_round_toward_negative(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_rtn(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_round_toward_zero(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_rtz(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort(Z3_context c, uint ebits, uint sbits); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_half(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_16(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_single(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_32(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_double(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_64(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_quadruple(Z3_context c); | |
extern(C) | |
Z3_sort Z3_mk_fpa_sort_128(Z3_context c); | |
extern(C) | |
Z3_ast Z3_mk_fpa_nan(Z3_context c, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_mk_fpa_inf(Z3_context c, Z3_sort s, bool negative); | |
extern(C) | |
Z3_ast Z3_mk_fpa_zero(Z3_context c, Z3_sort s, bool negative); | |
extern(C) | |
Z3_ast Z3_mk_fpa_fp(Z3_context c, Z3_ast sgn, Z3_ast exp, Z3_ast sig); | |
extern(C) | |
Z3_ast Z3_mk_fpa_numeral_float(Z3_context c, float v, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_fpa_numeral_double(Z3_context c, double v, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_fpa_numeral_int(Z3_context c, int v, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_fpa_numeral_int_uint(Z3_context c, bool sgn, int exp, uint sig, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_fpa_numeral_int64_uint64(Z3_context c, bool sgn, int64_t exp, uint64_t sig, Z3_sort ty); | |
extern(C) | |
Z3_ast Z3_mk_fpa_abs(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_neg(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_add(Z3_context c, Z3_ast rm, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_sub(Z3_context c, Z3_ast rm, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_mul(Z3_context c, Z3_ast rm, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_div(Z3_context c, Z3_ast rm, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_fma(Z3_context c, Z3_ast rm, Z3_ast t1, Z3_ast t2, Z3_ast t3); | |
extern(C) | |
Z3_ast Z3_mk_fpa_sqrt(Z3_context c, Z3_ast rm, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_rem(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_round_to_integral(Z3_context c, Z3_ast rm, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_min(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_max(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_leq(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_lt(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_geq(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_gt(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_eq(Z3_context c, Z3_ast t1, Z3_ast t2); | |
extern(C) | |
Z3_ast Z3_mk_fpa_is_normal(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_is_subnormal(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_is_zero(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_is_infinite(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_is_nan(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_is_negative(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_is_positive(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_fp_bv(Z3_context c, Z3_ast bv, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_fp_float(Z3_context c, Z3_ast rm, Z3_ast t, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_fp_real(Z3_context c, Z3_ast rm, Z3_ast t, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_fp_signed(Z3_context c, Z3_ast rm, Z3_ast t, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_fp_unsigned(Z3_context c, Z3_ast rm, Z3_ast t, Z3_sort s); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_ubv(Z3_context c, Z3_ast rm, Z3_ast t, uint sz); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_sbv(Z3_context c, Z3_ast rm, Z3_ast t, uint sz); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_real(Z3_context c, Z3_ast t); | |
extern(C) | |
uint Z3_fpa_get_ebits(Z3_context c, Z3_sort s); | |
extern(C) | |
uint Z3_fpa_get_sbits(Z3_context c, Z3_sort s); | |
extern(C) | |
bool Z3_fpa_is_numeral_nan(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_is_numeral_inf(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_is_numeral_zero(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_is_numeral_normal(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_is_numeral_subnormal(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_is_numeral_positive(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_is_numeral_negative(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_fpa_get_numeral_sign_bv(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_fpa_get_numeral_significand_bv(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_get_numeral_sign(Z3_context c, Z3_ast t, int* sgn); | |
extern(C) | |
const(char)* Z3_fpa_get_numeral_significand_string(Z3_context c, Z3_ast t); | |
extern(C) | |
bool Z3_fpa_get_numeral_significand_uint64(Z3_context c, Z3_ast t, uint64_t* n); | |
extern(C) | |
const(char)* Z3_fpa_get_numeral_exponent_string(Z3_context c, Z3_ast t, bool biased); | |
extern(C) | |
bool Z3_fpa_get_numeral_exponent_int64(Z3_context c, Z3_ast t, int64_t* n, bool biased); | |
extern(C) | |
Z3_ast Z3_fpa_get_numeral_exponent_bv(Z3_context c, Z3_ast t, bool biased); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_ieee_bv(Z3_context c, Z3_ast t); | |
extern(C) | |
Z3_ast Z3_mk_fpa_to_fp_int_real(Z3_context c, Z3_ast rm, Z3_ast exp, Z3_ast sig, Z3_sort s); | |
alias Z3_model_eh = extern(C++) void function(void*); | |
extern(C) | |
Z3_optimize Z3_mk_optimize(Z3_context c); | |
extern(C) | |
void Z3_optimize_inc_ref(Z3_context c, Z3_optimize d); | |
extern(C) | |
void Z3_optimize_dec_ref(Z3_context c, Z3_optimize d); | |
extern(C) | |
void Z3_optimize_assert(Z3_context c, Z3_optimize o, Z3_ast a); | |
extern(C) | |
void Z3_optimize_assert_and_track(Z3_context c, Z3_optimize o, Z3_ast a, Z3_ast t); | |
extern(C) | |
uint Z3_optimize_assert_soft(Z3_context c, Z3_optimize o, Z3_ast a, const(char)* weight, Z3_symbol id); | |
extern(C) | |
uint Z3_optimize_maximize(Z3_context c, Z3_optimize o, Z3_ast t); | |
extern(C) | |
uint Z3_optimize_minimize(Z3_context c, Z3_optimize o, Z3_ast t); | |
extern(C) | |
void Z3_optimize_push(Z3_context c, Z3_optimize d); | |
extern(C) | |
void Z3_optimize_pop(Z3_context c, Z3_optimize d); | |
extern(C) | |
Z3_bool Z3_optimize_check(Z3_context c, Z3_optimize o, uint num_assumptions, const(Z3_ast)* assumptions); | |
extern(C) | |
const(char)* Z3_optimize_get_reason_unknown(Z3_context c, Z3_optimize d); | |
extern(C) | |
Z3_model Z3_optimize_get_model(Z3_context c, Z3_optimize o); | |
extern(C) | |
Z3_ast_vector Z3_optimize_get_unsat_core(Z3_context c, Z3_optimize o); | |
extern(C) | |
void Z3_optimize_set_params(Z3_context c, Z3_optimize o, Z3_params p); | |
extern(C) | |
Z3_param_descrs Z3_optimize_get_param_descrs(Z3_context c, Z3_optimize o); | |
extern(C) | |
Z3_ast Z3_optimize_get_lower(Z3_context c, Z3_optimize o, uint idx); | |
extern(C) | |
Z3_ast Z3_optimize_get_upper(Z3_context c, Z3_optimize o, uint idx); | |
extern(C) | |
Z3_ast_vector Z3_optimize_get_lower_as_vector(Z3_context c, Z3_optimize o, uint idx); | |
extern(C) | |
Z3_ast_vector Z3_optimize_get_upper_as_vector(Z3_context c, Z3_optimize o, uint idx); | |
extern(C) | |
const(char)* Z3_optimize_to_string(Z3_context c, Z3_optimize o); | |
extern(C) | |
void Z3_optimize_from_string(Z3_context c, Z3_optimize o, const(char)* s); | |
extern(C) | |
void Z3_optimize_from_file(Z3_context c, Z3_optimize o, const(char)* s); | |
extern(C) | |
const(char)* Z3_optimize_get_help(Z3_context c, Z3_optimize t); | |
extern(C) | |
Z3_stats Z3_optimize_get_statistics(Z3_context c, Z3_optimize d); | |
extern(C) | |
Z3_ast_vector Z3_optimize_get_assertions(Z3_context c, Z3_optimize o); | |
extern(C) | |
Z3_ast_vector Z3_optimize_get_objectives(Z3_context c, Z3_optimize o); | |
extern(C) | |
void Z3_optimize_register_model_eh(Z3_context c, Z3_optimize o, Z3_model m, void* ctx, Z3_model_eh model_eh); | |
extern(C) | |
Z3_ast_vector Z3_polynomial_subresultants(Z3_context c, Z3_ast p, Z3_ast q, Z3_ast x); | |
extern(C) | |
bool Z3_get_numeral_rational(int c, int a, ref rational r); | |
extern(C) | |
void Z3_rcf_del(Z3_context c, Z3_rcf_num a); | |
extern(C) | |
Z3_rcf_num Z3_rcf_mk_rational(Z3_context c, const(char)* val); | |
extern(C) | |
Z3_rcf_num Z3_rcf_mk_small_int(Z3_context c, int val); | |
extern(C) | |
Z3_rcf_num Z3_rcf_mk_pi(Z3_context c); | |
extern(C) | |
Z3_rcf_num Z3_rcf_mk_e(Z3_context c); | |
extern(C) | |
Z3_rcf_num Z3_rcf_mk_infinitesimal(Z3_context c); | |
extern(C) | |
uint Z3_rcf_mk_roots(Z3_context c, uint n, const(Z3_rcf_num)* a, Z3_rcf_num* roots); | |
extern(C) | |
Z3_rcf_num Z3_rcf_add(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
Z3_rcf_num Z3_rcf_sub(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
Z3_rcf_num Z3_rcf_mul(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
Z3_rcf_num Z3_rcf_div(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
Z3_rcf_num Z3_rcf_neg(Z3_context c, Z3_rcf_num a); | |
extern(C) | |
Z3_rcf_num Z3_rcf_inv(Z3_context c, Z3_rcf_num a); | |
extern(C) | |
Z3_rcf_num Z3_rcf_power(Z3_context c, Z3_rcf_num a, uint k); | |
extern(C) | |
bool Z3_rcf_lt(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
bool Z3_rcf_gt(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
bool Z3_rcf_le(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
bool Z3_rcf_ge(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
bool Z3_rcf_eq(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
bool Z3_rcf_neq(Z3_context c, Z3_rcf_num a, Z3_rcf_num b); | |
extern(C) | |
const(char)* Z3_rcf_num_to_string(Z3_context c, Z3_rcf_num a, bool compact, bool html); | |
extern(C) | |
const(char)* Z3_rcf_num_to_decimal_string(Z3_context c, Z3_rcf_num a, uint prec); | |
extern(C) | |
void Z3_rcf_get_numerator_denominator(Z3_context c, Z3_rcf_num a, Z3_rcf_num* n, Z3_rcf_num* d); | |
extern(C) | |
Z3_lbool Z3_fixedpoint_query_from_lvl(Z3_context c, Z3_fixedpoint d, Z3_ast query, uint lvl); | |
extern(C) | |
Z3_ast Z3_fixedpoint_get_ground_sat_answer(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
Z3_ast_vector Z3_fixedpoint_get_rules_along_trace(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
Z3_symbol Z3_fixedpoint_get_rule_names_along_trace(Z3_context c, Z3_fixedpoint d); | |
extern(C) | |
void Z3_fixedpoint_add_invariant(Z3_context c, Z3_fixedpoint d, Z3_func_decl pred, Z3_ast property); | |
extern(C) | |
Z3_ast Z3_fixedpoint_get_reachable(Z3_context c, Z3_fixedpoint d, Z3_func_decl pred); | |
extern(C) | |
Z3_ast Z3_qe_model_project(Z3_context c, Z3_model m, uint num_bounds, const(Z3_app)* bound, Z3_ast body_); | |
extern(C) | |
Z3_ast Z3_qe_model_project_skolem(Z3_context c, Z3_model m, uint num_bounds, const(Z3_app)* bound, Z3_ast body_, Z3_ast_map map); | |
extern(C) | |
Z3_ast Z3_model_extrapolate(Z3_context c, Z3_model m, Z3_ast fml); | |
extern(C) | |
Z3_ast Z3_qe_lite(Z3_context c, Z3_ast_vector vars, Z3_ast body_); | |
alias z3_replayer_cmd = extern(C++) void function(ref z3_replayer); | |
alias z3_replayer_exception = default_exception; | |
extern(C++, class) | |
@cppclasssize(8) align(8) | |
struct z3_replayer | |
{ | |
@cppsize(8) private imp* m_imp; | |
public this(ref istream in_); | |
public ~this(); | |
public void parse(); | |
public uint get_line() const ; | |
public int get_int(uint pos) const ; | |
public uint get_uint(uint pos) const ; | |
public int64_t get_int64(uint pos) const ; | |
public uint64_t get_uint64(uint pos) const ; | |
public float get_float(uint pos) const ; | |
public double get_double(uint pos) const ; | |
public bool get_bool(uint pos) const ; | |
public const(char)* get_str(uint pos) const ; | |
public Z3_symbol get_symbol(uint pos) const ; | |
public void* get_obj(uint pos) const ; | |
public uint* get_uint_array(uint pos) const ; | |
public int* get_int_array(uint pos) const ; | |
public bool* get_bool_array(uint pos) const ; | |
public Z3_symbol* get_symbol_array(uint pos) const ; | |
public void** get_obj_array(uint pos) const ; | |
public int* get_int_addr(uint pos); | |
public int64_t* get_int64_addr(uint pos); | |
public uint* get_uint_addr(uint pos); | |
public uint64_t* get_uint64_addr(uint pos); | |
public const(char)** get_str_addr(uint pos); | |
public void** get_obj_addr(uint pos); | |
public void store_result(void* obj); | |
public void register_cmd(uint id, void function(ref z3_replayer) cmd, const(char)* name); | |
} | |
struct Z3_sort; | |
struct Z3_literals; | |
struct Z3_symbol; | |
struct Z3_params; | |
struct Z3_ast; | |
struct Z3_config; | |
struct Z3_context; | |
struct Z3_func_decl; | |
struct Z3_app; | |
struct Z3_pattern; | |
struct Z3_model; | |
struct Z3_constructor; | |
struct Z3_constructor_list; | |
struct Z3_param_descrs; | |
struct Z3_goal; | |
struct Z3_tactic; | |
struct Z3_probe; | |
struct Z3_stats; | |
struct Z3_optimize; | |
struct Z3_solver; | |
struct Z3_func_entry; | |
struct Z3_solver_callback; | |
struct Z3_ast_vector; | |
struct Z3_ast_map; | |
struct Z3_apply_result; | |
struct Z3_func_interp; | |
struct Z3_fixedpoint; | |
struct Z3_rcf_num; | |
struct imp; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment