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 @@ -90,3 +90,26 @@ void smt_bit_vector_theoryt::unsigned_less_than_or_equalt::validate(
9090const smt_function_application_termt::factoryt<
9191 smt_bit_vector_theoryt::unsigned_less_than_or_equalt>
9292 smt_bit_vector_theoryt::unsigned_less_than_or_equal{};
93+
94+ const char *smt_bit_vector_theoryt::unsigned_greater_thant::identifier ()
95+ {
96+ return " bvugt" ;
97+ }
98+
99+ smt_sortt smt_bit_vector_theoryt::unsigned_greater_thant::return_sort (
100+ const smt_termt &lhs,
101+ const smt_termt &rhs)
102+ {
103+ return smt_bool_sortt{};
104+ }
105+
106+ void smt_bit_vector_theoryt::unsigned_greater_thant::validate (
107+ const smt_termt &lhs,
108+ const smt_termt &rhs)
109+ {
110+ validate_bit_vector_predicate_arguments (lhs, rhs);
111+ }
112+
113+ const smt_function_application_termt::factoryt<
114+ smt_bit_vector_theoryt::unsigned_greater_thant>
115+ smt_bit_vector_theoryt::unsigned_greater_than{};
Original file line number Diff line number Diff line change 33/// [X-macro](https://en.wikipedia.org/wiki/X_Macro) pattern. These define the
44/// set of bitvector theory functions which are implemented and it is used to
55/// automate repetitive parts of the implementation.
6- SMT_BITVECTOR_THEORY_PREDICATE(bvugt, unsigned_greater_than)
76SMT_BITVECTOR_THEORY_PREDICATE(bvuge, unsigned_greater_than_or_equal)
87SMT_BITVECTOR_THEORY_PREDICATE(bvslt, signed_less_than)
98SMT_BITVECTOR_THEORY_PREDICATE(bvsle, signed_less_than_or_equal)
Original file line number Diff line number Diff line change @@ -40,6 +40,15 @@ class smt_bit_vector_theoryt
4040 static const smt_function_application_termt::factoryt<
4141 unsigned_less_than_or_equalt>
4242 unsigned_less_than_or_equal;
43+
44+ struct unsigned_greater_thant final
45+ {
46+ static const char *identifier ();
47+ static smt_sortt return_sort (const smt_termt &lhs, const smt_termt &rhs);
48+ static void validate (const smt_termt &lhs, const smt_termt &rhs);
49+ };
50+ static const smt_function_application_termt::factoryt<unsigned_greater_thant>
51+ unsigned_greater_than;
4352};
4453
4554#endif // CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_BIT_VECTOR_THEORY_H
You can’t perform that action at this time.
0 commit comments