package z3

  1. Overview
  2. Docs
type lbool =
  1. | L_FALSE
  2. | L_UNDEF
  3. | L_TRUE
val int_of_lbool : lbool -> int
val lbool_of_int : int -> lbool
type symbol_kind =
  1. | INT_SYMBOL
  2. | STRING_SYMBOL
val int_of_symbol_kind : symbol_kind -> int
val symbol_kind_of_int : int -> symbol_kind
type parameter_kind =
  1. | PARAMETER_INT
  2. | PARAMETER_DOUBLE
  3. | PARAMETER_RATIONAL
  4. | PARAMETER_SYMBOL
  5. | PARAMETER_SORT
  6. | PARAMETER_AST
  7. | PARAMETER_FUNC_DECL
val int_of_parameter_kind : parameter_kind -> int
val parameter_kind_of_int : int -> parameter_kind
type sort_kind =
  1. | UNINTERPRETED_SORT
  2. | BOOL_SORT
  3. | INT_SORT
  4. | REAL_SORT
  5. | BV_SORT
  6. | ARRAY_SORT
  7. | DATATYPE_SORT
  8. | RELATION_SORT
  9. | FINITE_DOMAIN_SORT
  10. | FLOATING_POINT_SORT
  11. | ROUNDING_MODE_SORT
  12. | SEQ_SORT
  13. | RE_SORT
  14. | UNKNOWN_SORT
val int_of_sort_kind : sort_kind -> int
val sort_kind_of_int : int -> sort_kind
type ast_kind =
  1. | NUMERAL_AST
  2. | APP_AST
  3. | VAR_AST
  4. | QUANTIFIER_AST
  5. | SORT_AST
  6. | FUNC_DECL_AST
  7. | UNKNOWN_AST
val int_of_ast_kind : ast_kind -> int
val ast_kind_of_int : int -> ast_kind
type decl_kind =
  1. | OP_TRUE
  2. | OP_FALSE
  3. | OP_EQ
  4. | OP_DISTINCT
  5. | OP_ITE
  6. | OP_AND
  7. | OP_OR
  8. | OP_IFF
  9. | OP_XOR
  10. | OP_NOT
  11. | OP_IMPLIES
  12. | OP_OEQ
  13. | OP_ANUM
  14. | OP_AGNUM
  15. | OP_LE
  16. | OP_GE
  17. | OP_LT
  18. | OP_GT
  19. | OP_ADD
  20. | OP_SUB
  21. | OP_UMINUS
  22. | OP_MUL
  23. | OP_DIV
  24. | OP_IDIV
  25. | OP_REM
  26. | OP_MOD
  27. | OP_TO_REAL
  28. | OP_TO_INT
  29. | OP_IS_INT
  30. | OP_POWER
  31. | OP_STORE
  32. | OP_SELECT
  33. | OP_CONST_ARRAY
  34. | OP_ARRAY_MAP
  35. | OP_ARRAY_DEFAULT
  36. | OP_SET_UNION
  37. | OP_SET_INTERSECT
  38. | OP_SET_DIFFERENCE
  39. | OP_SET_COMPLEMENT
  40. | OP_SET_SUBSET
  41. | OP_AS_ARRAY
  42. | OP_ARRAY_EXT
  43. | OP_BNUM
  44. | OP_BIT1
  45. | OP_BIT0
  46. | OP_BNEG
  47. | OP_BADD
  48. | OP_BSUB
  49. | OP_BMUL
  50. | OP_BSDIV
  51. | OP_BUDIV
  52. | OP_BSREM
  53. | OP_BUREM
  54. | OP_BSMOD
  55. | OP_BSDIV0
  56. | OP_BUDIV0
  57. | OP_BSREM0
  58. | OP_BUREM0
  59. | OP_BSMOD0
  60. | OP_ULEQ
  61. | OP_SLEQ
  62. | OP_UGEQ
  63. | OP_SGEQ
  64. | OP_ULT
  65. | OP_SLT
  66. | OP_UGT
  67. | OP_SGT
  68. | OP_BAND
  69. | OP_BOR
  70. | OP_BNOT
  71. | OP_BXOR
  72. | OP_BNAND
  73. | OP_BNOR
  74. | OP_BXNOR
  75. | OP_CONCAT
  76. | OP_SIGN_EXT
  77. | OP_ZERO_EXT
  78. | OP_EXTRACT
  79. | OP_REPEAT
  80. | OP_BREDOR
  81. | OP_BREDAND
  82. | OP_BCOMP
  83. | OP_BSHL
  84. | OP_BLSHR
  85. | OP_BASHR
  86. | OP_ROTATE_LEFT
  87. | OP_ROTATE_RIGHT
  88. | OP_EXT_ROTATE_LEFT
  89. | OP_EXT_ROTATE_RIGHT
  90. | OP_BIT2BOOL
  91. | OP_INT2BV
  92. | OP_BV2INT
  93. | OP_CARRY
  94. | OP_XOR3
  95. | OP_BSMUL_NO_OVFL
  96. | OP_BUMUL_NO_OVFL
  97. | OP_BSMUL_NO_UDFL
  98. | OP_BSDIV_I
  99. | OP_BUDIV_I
  100. | OP_BSREM_I
  101. | OP_BUREM_I
  102. | OP_BSMOD_I
  103. | OP_PR_UNDEF
  104. | OP_PR_TRUE
  105. | OP_PR_ASSERTED
  106. | OP_PR_GOAL
  107. | OP_PR_MODUS_PONENS
  108. | OP_PR_REFLEXIVITY
  109. | OP_PR_SYMMETRY
  110. | OP_PR_TRANSITIVITY
  111. | OP_PR_TRANSITIVITY_STAR
  112. | OP_PR_MONOTONICITY
  113. | OP_PR_QUANT_INTRO
  114. | OP_PR_BIND
  115. | OP_PR_DISTRIBUTIVITY
  116. | OP_PR_AND_ELIM
  117. | OP_PR_NOT_OR_ELIM
  118. | OP_PR_REWRITE
  119. | OP_PR_REWRITE_STAR
  120. | OP_PR_PULL_QUANT
  121. | OP_PR_PUSH_QUANT
  122. | OP_PR_ELIM_UNUSED_VARS
  123. | OP_PR_DER
  124. | OP_PR_QUANT_INST
  125. | OP_PR_HYPOTHESIS
  126. | OP_PR_LEMMA
  127. | OP_PR_UNIT_RESOLUTION
  128. | OP_PR_IFF_TRUE
  129. | OP_PR_IFF_FALSE
  130. | OP_PR_COMMUTATIVITY
  131. | OP_PR_DEF_AXIOM
  132. | OP_PR_ASSUMPTION_ADD
  133. | OP_PR_LEMMA_ADD
  134. | OP_PR_REDUNDANT_DEL
  135. | OP_PR_CLAUSE_TRAIL
  136. | OP_PR_DEF_INTRO
  137. | OP_PR_APPLY_DEF
  138. | OP_PR_IFF_OEQ
  139. | OP_PR_NNF_POS
  140. | OP_PR_NNF_NEG
  141. | OP_PR_SKOLEMIZE
  142. | OP_PR_MODUS_PONENS_OEQ
  143. | OP_PR_TH_LEMMA
  144. | OP_PR_HYPER_RESOLVE
  145. | OP_RA_STORE
  146. | OP_RA_EMPTY
  147. | OP_RA_IS_EMPTY
  148. | OP_RA_JOIN
  149. | OP_RA_UNION
  150. | OP_RA_WIDEN
  151. | OP_RA_PROJECT
  152. | OP_RA_FILTER
  153. | OP_RA_NEGATION_FILTER
  154. | OP_RA_RENAME
  155. | OP_RA_COMPLEMENT
  156. | OP_RA_SELECT
  157. | OP_RA_CLONE
  158. | OP_FD_CONSTANT
  159. | OP_FD_LT
  160. | OP_SEQ_UNIT
  161. | OP_SEQ_EMPTY
  162. | OP_SEQ_CONCAT
  163. | OP_SEQ_PREFIX
  164. | OP_SEQ_SUFFIX
  165. | OP_SEQ_CONTAINS
  166. | OP_SEQ_EXTRACT
  167. | OP_SEQ_REPLACE
  168. | OP_SEQ_AT
  169. | OP_SEQ_NTH
  170. | OP_SEQ_LENGTH
  171. | OP_SEQ_INDEX
  172. | OP_SEQ_LAST_INDEX
  173. | OP_SEQ_TO_RE
  174. | OP_SEQ_IN_RE
  175. | OP_STR_TO_INT
  176. | OP_INT_TO_STR
  177. | OP_RE_PLUS
  178. | OP_RE_STAR
  179. | OP_RE_OPTION
  180. | OP_RE_CONCAT
  181. | OP_RE_UNION
  182. | OP_RE_RANGE
  183. | OP_RE_LOOP
  184. | OP_RE_INTERSECT
  185. | OP_RE_EMPTY_SET
  186. | OP_RE_FULL_SET
  187. | OP_RE_COMPLEMENT
  188. | OP_LABEL
  189. | OP_LABEL_LIT
  190. | OP_DT_CONSTRUCTOR
  191. | OP_DT_RECOGNISER
  192. | OP_DT_IS
  193. | OP_DT_ACCESSOR
  194. | OP_DT_UPDATE_FIELD
  195. | OP_PB_AT_MOST
  196. | OP_PB_AT_LEAST
  197. | OP_PB_LE
  198. | OP_PB_GE
  199. | OP_PB_EQ
  200. | OP_SPECIAL_RELATION_LO
  201. | OP_SPECIAL_RELATION_PO
  202. | OP_SPECIAL_RELATION_PLO
  203. | OP_SPECIAL_RELATION_TO
  204. | OP_SPECIAL_RELATION_TC
  205. | OP_SPECIAL_RELATION_TRC
  206. | OP_FPA_RM_NEAREST_TIES_TO_EVEN
  207. | OP_FPA_RM_NEAREST_TIES_TO_AWAY
  208. | OP_FPA_RM_TOWARD_POSITIVE
  209. | OP_FPA_RM_TOWARD_NEGATIVE
  210. | OP_FPA_RM_TOWARD_ZERO
  211. | OP_FPA_NUM
  212. | OP_FPA_PLUS_INF
  213. | OP_FPA_MINUS_INF
  214. | OP_FPA_NAN
  215. | OP_FPA_PLUS_ZERO
  216. | OP_FPA_MINUS_ZERO
  217. | OP_FPA_ADD
  218. | OP_FPA_SUB
  219. | OP_FPA_NEG
  220. | OP_FPA_MUL
  221. | OP_FPA_DIV
  222. | OP_FPA_REM
  223. | OP_FPA_ABS
  224. | OP_FPA_MIN
  225. | OP_FPA_MAX
  226. | OP_FPA_FMA
  227. | OP_FPA_SQRT
  228. | OP_FPA_ROUND_TO_INTEGRAL
  229. | OP_FPA_EQ
  230. | OP_FPA_LT
  231. | OP_FPA_GT
  232. | OP_FPA_LE
  233. | OP_FPA_GE
  234. | OP_FPA_IS_NAN
  235. | OP_FPA_IS_INF
  236. | OP_FPA_IS_ZERO
  237. | OP_FPA_IS_NORMAL
  238. | OP_FPA_IS_SUBNORMAL
  239. | OP_FPA_IS_NEGATIVE
  240. | OP_FPA_IS_POSITIVE
  241. | OP_FPA_FP
  242. | OP_FPA_TO_FP
  243. | OP_FPA_TO_FP_UNSIGNED
  244. | OP_FPA_TO_UBV
  245. | OP_FPA_TO_SBV
  246. | OP_FPA_TO_REAL
  247. | OP_FPA_TO_IEEE_BV
  248. | OP_FPA_BVWRAP
  249. | OP_FPA_BV2RM
  250. | OP_INTERNAL
  251. | OP_UNINTERPRETED
val int_of_decl_kind : decl_kind -> int
val decl_kind_of_int : int -> decl_kind
type param_kind =
  1. | PK_UINT
  2. | PK_BOOL
  3. | PK_DOUBLE
  4. | PK_SYMBOL
  5. | PK_STRING
  6. | PK_OTHER
  7. | PK_INVALID
val int_of_param_kind : param_kind -> int
val param_kind_of_int : int -> param_kind
type ast_print_mode =
  1. | PRINT_SMTLIB_FULL
  2. | PRINT_LOW_LEVEL
  3. | PRINT_SMTLIB2_COMPLIANT
val int_of_ast_print_mode : ast_print_mode -> int
val ast_print_mode_of_int : int -> ast_print_mode
type error_code =
  1. | OK
  2. | SORT_ERROR
  3. | IOB
  4. | INVALID_ARG
  5. | PARSER_ERROR
  6. | NO_PARSER
  7. | INVALID_PATTERN
  8. | MEMOUT_FAIL
  9. | FILE_ACCESS_ERROR
  10. | INTERNAL_FATAL
  11. | INVALID_USAGE
  12. | DEC_REF_ERROR
  13. | EXCEPTION
val int_of_error_code : error_code -> int
val error_code_of_int : int -> error_code
type goal_prec =
  1. | GOAL_PRECISE
  2. | GOAL_UNDER
  3. | GOAL_OVER
  4. | GOAL_UNDER_OVER
val int_of_goal_prec : goal_prec -> int
val goal_prec_of_int : int -> goal_prec
OCaml

Innovation. Community. Security.