File tree Expand file tree Collapse file tree 3 files changed +33
-1
lines changed
src/solvers/smt2_incremental Expand file tree Collapse file tree 3 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -160,3 +160,26 @@ void smt_bit_vector_theoryt::signed_less_thant::validate(
160
160
const smt_function_application_termt::factoryt<
161
161
smt_bit_vector_theoryt::signed_less_thant>
162
162
smt_bit_vector_theoryt::signed_less_than{};
163
+
164
+ const char *smt_bit_vector_theoryt::signed_less_than_or_equalt::identifier ()
165
+ {
166
+ return " bvsle" ;
167
+ }
168
+
169
+ smt_sortt smt_bit_vector_theoryt::signed_less_than_or_equalt::return_sort (
170
+ const smt_termt &lhs,
171
+ const smt_termt &rhs)
172
+ {
173
+ return smt_bool_sortt{};
174
+ }
175
+
176
+ void smt_bit_vector_theoryt::signed_less_than_or_equalt::validate (
177
+ const smt_termt &lhs,
178
+ const smt_termt &rhs)
179
+ {
180
+ validate_bit_vector_predicate_arguments (lhs, rhs);
181
+ }
182
+
183
+ const smt_function_application_termt::factoryt<
184
+ smt_bit_vector_theoryt::signed_less_than_or_equalt>
185
+ smt_bit_vector_theoryt::signed_less_than_or_equal{};
Original file line number Diff line number Diff line change 3
3
/// [X-macro](https://en.wikipedia.org/wiki/X_Macro) pattern. These define the
4
4
/// set of bitvector theory functions which are implemented and it is used to
5
5
/// automate repetitive parts of the implementation.
6
- SMT_BITVECTOR_THEORY_PREDICATE(bvsle, signed_less_than_or_equal)
7
6
SMT_BITVECTOR_THEORY_PREDICATE(bvsgt, signed_greater_than)
8
7
SMT_BITVECTOR_THEORY_PREDICATE(bvsge, signed_greater_than_or_equal)
Original file line number Diff line number Diff line change @@ -68,6 +68,16 @@ class smt_bit_vector_theoryt
68
68
};
69
69
static const smt_function_application_termt::factoryt<signed_less_thant>
70
70
signed_less_than;
71
+
72
+ struct signed_less_than_or_equalt final
73
+ {
74
+ static const char *identifier ();
75
+ static smt_sortt return_sort (const smt_termt &lhs, const smt_termt &rhs);
76
+ static void validate (const smt_termt &lhs, const smt_termt &rhs);
77
+ };
78
+ static const smt_function_application_termt::factoryt<
79
+ signed_less_than_or_equalt>
80
+ signed_less_than_or_equal;
71
81
};
72
82
73
83
#endif // CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_BIT_VECTOR_THEORY_H
You can’t perform that action at this time.
0 commit comments