ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
cvc_conv.h
Go to the documentation of this file.
1#ifndef _ESBMC_SOLVERS_CVC_CVC_CONV_H_
2#define _ESBMC_SOLVERS_CVC_CVC_CONV_H_
3
5#include <cvc4/cvc4.h>
6
7class cvc_smt_ast : public solver_smt_ast<CVC4::Expr>
8{
9public:
10 using solver_smt_ast<CVC4::Expr>::solver_smt_ast;
11 ~cvc_smt_ast() override = default;
12 void dump() const override;
13};
14
15class cvc_convt : public smt_solver_baset, public array_iface, public fp_convt
16{
17public:
18 cvc_convt(const namespacet &ns, const optionst &options);
19 ~cvc_convt() override = default;
20
21 smt_resultt dec_solve() override;
22 const std::string solver_text() override;
23
24 tvt get_bool(smt_astt a) override;
25 BigInt get_bv(smt_astt a, bool is_signed) override;
26 ieee_floatt get_fpbv(smt_astt a) override;
27 expr2tc get_array_elem(smt_astt array, uint64_t index, const type2tc &subtype)
28 override;
29
30 void push_ctx() override;
31 void pop_ctx() override;
32 // SMT-abstraction migration:
33 smt_astt mk_add(smt_astt a, smt_astt b) override;
34 smt_astt mk_bvadd(smt_astt a, smt_astt b) override;
35 smt_astt mk_sub(smt_astt a, smt_astt b) override;
36 smt_astt mk_bvsub(smt_astt a, smt_astt b) override;
37 smt_astt mk_mul(smt_astt a, smt_astt b) override;
38 smt_astt mk_bvmul(smt_astt a, smt_astt b) override;
39 smt_astt mk_mod(smt_astt a, smt_astt b) override;
40 smt_astt mk_bvsmod(smt_astt a, smt_astt b) override;
41 smt_astt mk_bvumod(smt_astt a, smt_astt b) override;
42 smt_astt mk_div(smt_astt a, smt_astt b) override;
43 smt_astt mk_bvsdiv(smt_astt a, smt_astt b) override;
44 smt_astt mk_bvudiv(smt_astt a, smt_astt b) override;
45 smt_astt mk_shl(smt_astt a, smt_astt b) override;
46 smt_astt mk_bvshl(smt_astt a, smt_astt b) override;
47 smt_astt mk_bvashr(smt_astt a, smt_astt b) override;
48 smt_astt mk_bvlshr(smt_astt a, smt_astt b) override;
49 smt_astt mk_neg(smt_astt a) override;
50 smt_astt mk_bvneg(smt_astt a) override;
51 smt_astt mk_bvnot(smt_astt a) override;
52 smt_astt mk_bvxor(smt_astt a, smt_astt b) override;
53 smt_astt mk_bvor(smt_astt a, smt_astt b) override;
54 smt_astt mk_bvand(smt_astt a, smt_astt b) override;
55 smt_astt mk_implies(smt_astt a, smt_astt b) override;
56 smt_astt mk_xor(smt_astt a, smt_astt b) override;
57 smt_astt mk_or(smt_astt a, smt_astt b) override;
58 smt_astt mk_and(smt_astt a, smt_astt b) override;
59 smt_astt mk_not(smt_astt a) override;
60 smt_astt mk_lt(smt_astt a, smt_astt b) override;
61 smt_astt mk_bvult(smt_astt a, smt_astt b) override;
62 smt_astt mk_bvslt(smt_astt a, smt_astt b) override;
63 smt_astt mk_gt(smt_astt a, smt_astt b) override;
64 smt_astt mk_bvugt(smt_astt a, smt_astt b) override;
65 smt_astt mk_bvsgt(smt_astt a, smt_astt b) override;
66 smt_astt mk_le(smt_astt a, smt_astt b) override;
67 smt_astt mk_bvule(smt_astt a, smt_astt b) override;
68 smt_astt mk_bvsle(smt_astt a, smt_astt b) override;
69 smt_astt mk_ge(smt_astt a, smt_astt b) override;
70 smt_astt mk_bvuge(smt_astt a, smt_astt b) override;
71 smt_astt mk_bvsge(smt_astt a, smt_astt b) override;
72 smt_astt mk_eq(smt_astt a, smt_astt b) override;
73 smt_astt mk_neq(smt_astt a, smt_astt b) override;
74 smt_astt mk_store(smt_astt a, smt_astt b, smt_astt c) override;
75 smt_astt mk_select(smt_astt a, smt_astt b) override;
76 smt_astt mk_real2int(smt_astt a) override;
77 smt_astt mk_int2real(smt_astt a) override;
78 smt_astt mk_isint(smt_astt a) override;
79
80 smt_sortt mk_bool_sort() override;
81 smt_sortt mk_real_sort() override;
82 smt_sortt mk_int_sort() override;
83 smt_sortt mk_bv_sort(std::size_t width) override;
85 smt_sortt mk_fbv_sort(std::size_t width) override;
86 smt_sortt mk_bvfp_sort(std::size_t ew, std::size_t sw) override;
87 smt_sortt mk_bvfp_rm_sort() override;
88 smt_sortt mk_fpbv_sort(const unsigned ew, const unsigned sw) override;
89 smt_sortt mk_fpbv_rm_sort() override;
90
91 smt_astt mk_smt_int(const BigInt &theint) override;
92 smt_astt mk_smt_real(const std::string &str) override;
93 smt_astt mk_smt_bv(const BigInt &theint, smt_sortt s) override;
94 smt_astt mk_smt_fpbv(const ieee_floatt &thereal) override;
95 smt_astt mk_smt_fpbv_nan(bool sgn, unsigned ew, unsigned sw) override;
96 smt_astt mk_smt_fpbv_inf(bool sgn, unsigned ew, unsigned sw) override;
99 mk_smt_fpbv_fma(smt_astt v1, smt_astt v2, smt_astt v3, smt_astt rm) override;
101 mk_smt_typecast_from_fpbv_to_ubv(smt_astt from, std::size_t width) override;
103 mk_smt_typecast_from_fpbv_to_sbv(smt_astt from, std::size_t width) override;
105 smt_astt from,
106 smt_sortt to,
107 smt_astt rm) override;
109 override;
111 override;
112 smt_astt mk_smt_fpbv_add(smt_astt lhs, smt_astt rhs, smt_astt rm) override;
113 smt_astt mk_smt_fpbv_sub(smt_astt lhs, smt_astt rhs, smt_astt rm) override;
114 smt_astt mk_smt_fpbv_mul(smt_astt lhs, smt_astt rhs, smt_astt rm) override;
115 smt_astt mk_smt_fpbv_div(smt_astt lhs, smt_astt rhs, smt_astt rm) override;
116 smt_astt mk_smt_fpbv_rem(smt_astt lhs, smt_astt rhs) override;
119
120 smt_astt mk_smt_fpbv_eq(smt_astt lhs, smt_astt rhs) override;
121 smt_astt mk_smt_fpbv_gt(smt_astt lhs, smt_astt rhs) override;
122 smt_astt mk_smt_fpbv_lt(smt_astt lhs, smt_astt rhs) override;
123 smt_astt mk_smt_fpbv_gte(smt_astt lhs, smt_astt rhs) override;
124 smt_astt mk_smt_fpbv_lte(smt_astt lhs, smt_astt rhs) override;
131 smt_astt mk_smt_fpbv_abs(smt_astt op) override;
132 smt_astt mk_smt_fpbv_neg(smt_astt op) override;
135
136 smt_astt mk_smt_bool(bool val) override;
138 const std::string &name,
139 const smt_sort *s,
140 smt_sortt array_subtype) override;
141 smt_astt mk_smt_symbol(const std::string &name, const smt_sort *s) override;
143 const std::string &name,
144 const std::vector<smt_astt> &args,
145 smt_sortt rangesort) override;
146 smt_astt mk_extract(smt_astt a, unsigned int high, unsigned int low) override;
147 smt_astt mk_sign_ext(smt_astt a, unsigned int topwidth) override;
148 smt_astt mk_zero_ext(smt_astt a, unsigned int topwidth) override;
149 smt_astt mk_concat(smt_astt a, smt_astt b) override;
151
153 convert_array_of(smt_astt init_val, unsigned long domain_width) override;
154
155 void assert_ast(smt_astt a) override;
156
157 std::string dump_smt() override;
158
159 unsigned int to_bv_counter;
160
161 CVC4::ExprManager em;
162 CVC4::SmtEngine smt;
163 CVC4::SymbolTable sym_tab;
164
167 std::unordered_map<std::string, CVC4::Expr> uf_decls;
168};
169
170#endif /* _ESBMC_SOLVERS_CVC_CVC_CONV_H_ */
Definition bigint.hh:58
array_iface(bool _b, bool inf)
Definition smt_array.h:14
Definition toml.hpp:6607
smt_astt mk_array_symbol(const std::string &name, const smt_sort *s, smt_sortt array_subtype) override
Definition cvc_conv.cpp:1098
smt_astt mk_bvult(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:836
std::string dump_smt() override
Method to dump the SMT formula.
Definition cvc_conv.cpp:1293
smt_astt mk_smt_typecast_from_fpbv_to_sbv(smt_astt from, std::size_t width) override
Typecast from a floating point.
Definition cvc_conv.cpp:307
smt_sortt mk_bool_sort() override
Create a bool sort.
Definition cvc_conv.cpp:1232
CVC4::SmtEngine smt
Definition cvc_conv.h:162
CVC4::ExprManager em
Definition cvc_conv.h:161
smt_sortt mk_bvfp_sort(std::size_t ew, std::size_t sw) override
Create a floating-point sort, using bitvectors.
Definition cvc_conv.cpp:1269
smt_astt mk_smt_fpbv_abs(smt_astt op) override
Convert an ieee abs operation.
Definition cvc_conv.cpp:577
smt_astt mk_smt_fpbv_sqrt(smt_astt rd, smt_astt rm) override
Convert the ieee arithmetic square-root (sqrt).
Definition cvc_conv.cpp:469
smt_astt mk_smt_symbol(const std::string &name, const smt_sort *s) override
Definition cvc_conv.cpp:1106
smt_astt mk_smt_fpbv_add(smt_astt lhs, smt_astt rhs, smt_astt rm) override
Convert a ieee addition.
Definition cvc_conv.cpp:405
expr2tc get_array_elem(smt_astt array, uint64_t index, const type2tc &subtype) override
Extract an element from the model of an array, at an explicit index.
Definition cvc_conv.cpp:89
smt_astt mk_ite(smt_astt cond, smt_astt t, smt_astt f) override
Create an ite operation.
Definition cvc_conv.cpp:1212
smt_astt mk_smt_fpbv(const ieee_floatt &thereal) override
Create a floating point bitvector.
Definition cvc_conv.cpp:1007
smt_sortt mk_fpbv_sort(const unsigned ew, const unsigned sw) override
Create a sort representing a floating-point number.
Definition cvc_conv.cpp:1281
smt_astt mk_real2int(smt_astt a) override
Definition cvc_conv.cpp:251
smt_astt mk_smt_fpbv_inf(bool sgn, unsigned ew, unsigned sw) override
Create a (+/-)inf floating point bitvector.
Definition cvc_conv.cpp:1044
smt_astt mk_from_bv_to_fp(smt_astt op, smt_sortt to) override
Convert BV to FP.
Definition cvc_conv.cpp:371
smt_astt mk_smt_fpbv_neg(smt_astt op) override
Convert an ieee negation operation.
Definition cvc_conv.cpp:585
smt_astt mk_smt_real(const std::string &str) override
Create a real in a smt_ast.
Definition cvc_conv.cpp:1001
smt_astt mk_smt_fpbv_sub(smt_astt lhs, smt_astt rhs, smt_astt rm) override
Convert a ieee subtraction.
Definition cvc_conv.cpp:416
smt_astt mk_int2real(smt_astt a) override
Definition cvc_conv.cpp:259
smt_astt mk_bvslt(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:849
smt_astt mk_zero_ext(smt_astt a, unsigned int topwidth) override
Identical to mk_sign_ext, but extends AST with zeros.
Definition cvc_conv.cpp:1188
smt_astt mk_shl(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:180
smt_astt mk_smt_bv(const BigInt &theint, smt_sortt s) override
Create a bitvector.
Definition cvc_conv.cpp:1077
unsigned int to_bv_counter
Definition cvc_conv.h:159
tvt get_bool(smt_astt a) override
Extract the assignment to a boolean variable from the SMT solver's model.
Definition cvc_conv.cpp:48
smt_astt mk_bvsge(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:927
smt_astt mk_gt(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:215
smt_astt mk_smt_fpbv_gte(smt_astt lhs, smt_astt rhs) override
Convert an ieee greater than or equal.
Definition cvc_conv.cpp:509
smt_astt mk_smt_bool(bool val) override
Create a boolean.
Definition cvc_conv.cpp:1091
smt_astt mk_smt_nearbyint_from_float(smt_astt from, smt_astt rm) override
Calculate the nearby int from a floating point, considering the rounding mode.
Definition cvc_conv.cpp:459
smt_astt mk_smt_int(const BigInt &theint) override
Create an integer smt_ast.
Definition cvc_conv.cpp:989
smt_astt mk_bvashr(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:703
smt_astt mk_bvumod(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:651
smt_astt mk_bvxor(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:745
smt_astt mk_bvsmod(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:638
std::unordered_map< std::string, CVC4::Expr > uf_decls
Uninterpreted-function variables, keyed by name, so every application shares one declaration and the ...
Definition cvc_conv.h:167
smt_astt mk_bvshl(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:690
smt_astt mk_concat(smt_astt a, smt_astt b) override
Concatenate two smt expressions.
Definition cvc_conv.cpp:1199
smt_astt mk_and(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:817
smt_astt mk_smt_fpbv_rm(ieee_floatt::rounding_modet rm) override
Create a rounding mode to be used by floating point cast and arith ops.
Definition cvc_conv.cpp:1056
~cvc_convt() override=default
smt_astt mk_smt_typecast_from_fpbv_to_fpbv(smt_astt from, smt_sortt to, smt_astt rm) override
Typecast from a floating point.
Definition cvc_conv.cpp:324
smt_astt mk_bvuge(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:914
CVC4::SymbolTable sym_tab
Definition cvc_conv.h:163
smt_astt mk_smt_typecast_from_fpbv_to_ubv(smt_astt from, std::size_t width) override
Typecast from a floating point.
Definition cvc_conv.cpp:289
smt_astt mk_smt_typecast_ubv_to_fpbv(smt_astt from, smt_sortt to, smt_astt rm) override
Typecast to a floating point.
Definition cvc_conv.cpp:342
smt_astt mk_bvadd(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:599
smt_astt mk_smt_fpbv_eq(smt_astt lhs, smt_astt rhs) override
Convert an ieee equality.
Definition cvc_conv.cpp:479
smt_astt mk_bvudiv(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:677
smt_astt mk_bvsle(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:901
smt_sortt mk_int_sort() override
Create a int sort.
Definition cvc_conv.cpp:1242
smt_astt mk_smt_fpbv_gt(smt_astt lhs, smt_astt rhs) override
Convert an ieee greater than.
Definition cvc_conv.cpp:489
smt_astt mk_smt_fpbv_nan(bool sgn, unsigned ew, unsigned sw) override
Create a NaN floating point bitvector.
Definition cvc_conv.cpp:1028
smt_astt mk_extract(smt_astt a, unsigned int high, unsigned int low) override
Create an 'extract' func app.
Definition cvc_conv.cpp:1162
smt_astt mk_store(smt_astt a, smt_astt b, smt_astt c) override
Definition cvc_conv.cpp:962
smt_astt mk_smt_fpbv_is_nan(smt_astt op) override
Convert an ieee is_nan operation.
Definition cvc_conv.cpp:529
void pop_ctx() override
Pop one context on the SMT assertion stack.
Definition cvc_conv.cpp:1315
smt_astt mk_bvand(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:771
smt_sortt mk_fpbv_rm_sort() override
Create a sort representing a floating-point rounding mode.
Definition cvc_conv.cpp:1287
smt_astt mk_isint(smt_astt a) override
Definition cvc_conv.cpp:267
smt_astt mk_lt(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:203
BigInt get_bv(smt_astt a, bool is_signed) override
Extract the assignment to a bitvector from the SMT solver's model.
Definition cvc_conv.cpp:81
smt_astt mk_sub(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:125
smt_sortt mk_array_sort(smt_sortt domain, smt_sortt range) override
Create an array sort.
Definition cvc_conv.cpp:1259
smt_astt mk_smt_fpbv_is_inf(smt_astt op) override
Convert an ieee is_inf operation.
Definition cvc_conv.cpp:537
smt_astt mk_div(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:164
smt_astt mk_xor(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:795
smt_astt mk_bvsub(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:612
smt_sortt mk_bv_sort(std::size_t width) override
Create a bv sort.
Definition cvc_conv.cpp:1247
smt_astt mk_smt_typecast_sbv_to_fpbv(smt_astt from, smt_sortt to, smt_astt rm) override
Typecast to a floating point.
Definition cvc_conv.cpp:357
smt_sortt mk_fbv_sort(std::size_t width) override
Create a fixed-point sort.
Definition cvc_conv.cpp:1253
smt_astt mk_smt_fpbv_is_positive(smt_astt op) override
Convert an ieee is_pos operation.
Definition cvc_conv.cpp:569
smt_astt mk_smt_fpbv_lt(smt_astt lhs, smt_astt rhs) override
Convert an ieee less than.
Definition cvc_conv.cpp:499
smt_astt mk_add(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:112
smt_astt mk_smt_fpbv_is_normal(smt_astt op) override
Convert an ieee is_normal operation.
Definition cvc_conv.cpp:545
ieee_floatt get_fpbv(smt_astt a) override
Extract the assignment to a floating-point from the SMT solvers model.
Definition cvc_conv.cpp:55
smt_astt mk_bvnot(smt_astt a) override
Definition cvc_conv.cpp:737
smt_astt mk_implies(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:784
smt_sortt mk_real_sort() override
Create a real sort.
Definition cvc_conv.cpp:1237
smt_astt mk_bvmul(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:625
smt_astt mk_neq(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:951
void assert_ast(smt_astt a) override
Assert the truth of an ast.
Definition cvc_conv.cpp:593
smt_astt mk_smt_fpbv_mul(smt_astt lhs, smt_astt rhs, smt_astt rm) override
Convert a ieee multiplication.
Definition cvc_conv.cpp:427
smt_astt mk_smt_fpbv_is_negative(smt_astt op) override
Convert an ieee is_neg operation.
Definition cvc_conv.cpp:561
smt_astt mk_smt_uninterpreted_function(const std::string &name, const std::vector< smt_astt > &args, smt_sortt rangesort) override
Apply an uninterpreted function.
Definition cvc_conv.cpp:1123
smt_astt mk_eq(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:940
smt_astt mk_mul(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:138
smt_astt mk_select(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:977
smt_astt mk_bvor(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:758
smt_astt convert_array_of(smt_astt init_val, unsigned long domain_width) override
Create an array with a single initializer.
Definition cvc_conv.cpp:1227
smt_astt mk_sign_ext(smt_astt a, unsigned int topwidth) override
Given a signed, upwards cast, extends the sign of the given AST to the desired length.
Definition cvc_conv.cpp:1177
smt_sortt mk_bvfp_rm_sort() override
Create a floating-point rounding mode sort, using bitvectors.
Definition cvc_conv.cpp:1275
smt_astt mk_mod(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:151
smt_astt mk_bvugt(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:862
smt_astt mk_neg(smt_astt a) override
Definition cvc_conv.cpp:195
smt_astt mk_smt_fpbv_fma(smt_astt v1, smt_astt v2, smt_astt v3, smt_astt rm) override
Convert the ieee arithmetic fused-multiply add (fma): round((v1 * v2) + v3).
Definition cvc_conv.cpp:276
smt_astt mk_bvlshr(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:716
smt_astt mk_bvsgt(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:875
smt_astt mk_ge(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:239
smt_astt mk_smt_fpbv_rem(smt_astt lhs, smt_astt rhs) override
Convert the ieee remainder (SMT-LIB fp.rem, C's remainder()).
Definition cvc_conv.cpp:449
smt_astt mk_bvneg(smt_astt a) override
Definition cvc_conv.cpp:729
smt_astt mk_or(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:806
smt_astt mk_smt_fpbv_div(smt_astt lhs, smt_astt rhs, smt_astt rm) override
Convert the ieee division.
Definition cvc_conv.cpp:438
smt_astt mk_bvule(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:888
void push_ctx() override
Push one context on the SMT assertion stack.
Definition cvc_conv.cpp:1309
smt_astt mk_from_fp_to_bv(smt_astt op) override
Convert FP to BV.
Definition cvc_conv.cpp:384
smt_astt mk_bvsdiv(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:664
smt_astt mk_not(smt_astt a) override
Definition cvc_conv.cpp:828
smt_astt mk_smt_fpbv_is_zero(smt_astt op) override
Convert an ieee is_zero operation.
Definition cvc_conv.cpp:553
smt_astt mk_le(smt_astt a, smt_astt b) override
Definition cvc_conv.cpp:227
smt_resultt dec_solve() override
Solve the formula given to the solver.
Definition cvc_conv.cpp:34
const std::string solver_text() override
Solver name fetcher.
Definition cvc_conv.cpp:105
cvc_convt(const namespacet &ns, const optionst &options)
Definition cvc_conv.cpp:20
smt_astt mk_smt_fpbv_lte(smt_astt lhs, smt_astt rhs) override
Convert an ieee less than or equal.
Definition cvc_conv.cpp:519
Definition cvc_conv.h:8
~cvc_smt_ast() override=default
void dump() const override
Definition cvc_conv.cpp:1302
fp_convt(smt_solver_baset *_ctx)
Definition fp_conv.cpp:26
Definition ieee_float.h:75
rounding_modet
Definition ieee_float.h:78
Definition namespace.h:10
Definition options.h:11
smt_solver_baset(const namespacet &_ns, const optionst &_options)
Primary constructor.
Definition smt_solver.cpp:78
const optionst & options
Definition smt_solver.h:1130
const namespacet & ns
A namespace containing all the types in the program.
Definition smt_solver.h:1128
Definition smt_sort.h:40
solver_smt_ast(smt_solver_baset *ctx, CVC4::Expr _a, smt_sortt s)
Definition smt_ast.h:103
Definition threeval.h:10
pthread_cond_t cond
Definition cuda.h:50
irep_container< type2t > type2tc
Definition irep2.h:430
irep_container< expr2t > expr2tc
Definition irep2.h:431
Definition range.py:1
const smt_ast * smt_astt
Definition smt_ast.h:30
smt_resultt
Result of a call to dec_solve.
Definition smt_result.h:7
const smt_sort * smt_sortt
Definition smt_sort.h:37