File tree Expand file tree Collapse file tree 1 file changed +3
-4
lines changed Expand file tree Collapse file tree 1 file changed +3
-4
lines changed Original file line number Diff line number Diff line change @@ -261,15 +261,14 @@ cmd::command* btor_state::finalize() const {
261
261
cmd::command* transition_system_define = new cmd::define_transition_system (" T" , transition_system);
262
262
263
263
// Query
264
+ // We cast the roots to booleans then conjunct them
264
265
std::vector<term_ref> bad_children;
265
266
for (size_t i = 0 ; i < d_roots.size (); ++ i) {
266
267
term_ref bad = tm ().substitute_and_cache (d_roots[i], btor_to_state_var);
268
+ bad = tm ().mk_term (TERM_EQ, bad, d_zero);
267
269
bad_children.push_back (bad);
268
270
}
269
- // FIXME: Don't think this works for more than one child --
270
- // 'property' is a bool, but then the next line compares it to bv 0
271
- term_ref property = tm ().mk_or (bad_children);
272
- property = tm ().mk_term (TERM_EQ, property, d_zero);
271
+ term_ref property = tm ().mk_and (bad_children);
273
272
system::state_formula* property_formula = new system::state_formula (tm (), state_type, property);
274
273
cmd::command* query = new cmd::query (ctx (), " T" , property_formula);
275
274
You can’t perform that action at this time.
0 commit comments