File tree Expand file tree Collapse file tree 3 files changed +32
-1
lines changed
src/solvers/smt2_incremental Expand file tree Collapse file tree 3 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -137,3 +137,26 @@ void smt_bit_vector_theoryt::unsigned_greater_than_or_equalt::validate(
137
137
const smt_function_application_termt::factoryt<
138
138
smt_bit_vector_theoryt::unsigned_greater_than_or_equalt>
139
139
smt_bit_vector_theoryt::unsigned_greater_than_or_equal{};
140
+
141
+ const char *smt_bit_vector_theoryt::signed_less_thant::identifier ()
142
+ {
143
+ return " bvslt" ;
144
+ }
145
+
146
+ smt_sortt smt_bit_vector_theoryt::signed_less_thant::return_sort (
147
+ const smt_termt &lhs,
148
+ const smt_termt &rhs)
149
+ {
150
+ return smt_bool_sortt{};
151
+ }
152
+
153
+ void smt_bit_vector_theoryt::signed_less_thant::validate (
154
+ const smt_termt &lhs,
155
+ const smt_termt &rhs)
156
+ {
157
+ validate_bit_vector_predicate_arguments (lhs, rhs);
158
+ }
159
+
160
+ const smt_function_application_termt::factoryt<
161
+ smt_bit_vector_theoryt::signed_less_thant>
162
+ smt_bit_vector_theoryt::signed_less_than{};
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(bvslt, signed_less_than)
7
6
SMT_BITVECTOR_THEORY_PREDICATE(bvsle, signed_less_than_or_equal)
8
7
SMT_BITVECTOR_THEORY_PREDICATE(bvsgt, signed_greater_than)
9
8
SMT_BITVECTOR_THEORY_PREDICATE(bvsge, signed_greater_than_or_equal)
Original file line number Diff line number Diff line change @@ -59,6 +59,15 @@ class smt_bit_vector_theoryt
59
59
static const smt_function_application_termt::factoryt<
60
60
unsigned_greater_than_or_equalt>
61
61
unsigned_greater_than_or_equal;
62
+
63
+ struct signed_less_thant final
64
+ {
65
+ static const char *identifier ();
66
+ static smt_sortt return_sort (const smt_termt &lhs, const smt_termt &rhs);
67
+ static void validate (const smt_termt &lhs, const smt_termt &rhs);
68
+ };
69
+ static const smt_function_application_termt::factoryt<signed_less_thant>
70
+ signed_less_than;
62
71
};
63
72
64
73
#endif // CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_BIT_VECTOR_THEORY_H
You can’t perform that action at this time.
0 commit comments