@@ -47,11 +47,11 @@ namespace smt {
47
47
//
48
48
void context::extract_fixed_consequences (literal lit, index_set const & assumptions, expr_ref_vector& conseq) {
49
49
datatype_util dt (m);
50
- expr* e1 , *e2 ;
50
+ expr* e1 , *e2 , *arg;
51
51
expr_ref fml (m);
52
52
if (lit == true_literal) return ;
53
53
expr* e = bool_var2expr (lit.var ());
54
- TRACE (" context" , display ( tout << mk_pp (e, m) << " \n " ) ;);
54
+ TRACE (" context" , tout << mk_pp (e, m) << " \n " ;);
55
55
index_set s;
56
56
if (assumptions.contains (lit.var ())) {
57
57
s.insert (lit.var ());
@@ -60,9 +60,6 @@ namespace smt {
60
60
justify (lit, s);
61
61
}
62
62
m_antecedents.insert (lit.var (), s);
63
- TRACE (" context" , display_literal_verbose (tout, lit);
64
- for (auto v : s) tout << " " << v;
65
- tout << " \n " ;);
66
63
bool found = false ;
67
64
if (m_var2val.contains (e)) {
68
65
found = true ;
@@ -85,11 +82,11 @@ namespace smt {
85
82
fml = m.mk_eq (e1 , e2 );
86
83
}
87
84
}
88
- else if (!lit.sign () && is_app (e) && dt.is_recognizer (to_app (e)-> get_decl () )) {
89
- if (m_var2val.contains (to_app (e)-> get_arg ( 0 ) )) {
85
+ else if (!lit.sign () && dt.is_recognizer (e, arg )) {
86
+ if (m_var2val.contains (arg )) {
90
87
found = true ;
91
- fml = m.mk_eq (to_app (e)-> get_arg ( 0 ) , m.mk_const (dt.get_recognizer_constructor (to_app (e)->get_decl ())));
92
- m_var2val.erase (to_app (e)-> get_arg ( 0 ) );
88
+ fml = m.mk_eq (arg , m.mk_const (dt.get_recognizer_constructor (to_app (e)->get_decl ())));
89
+ m_var2val.erase (arg );
93
90
}
94
91
}
95
92
if (found) {
@@ -172,7 +169,7 @@ namespace smt {
172
169
TRACE (" context" ,
173
170
tout << " checking " << mk_pp (k, m) << " "
174
171
<< mk_pp (v, m) << " " << get_assignment (lit) << " \n " ;
175
- display (tout);
172
+ // display(tout);
176
173
);
177
174
switch (get_assignment (lit)) {
178
175
case l_true:
@@ -424,6 +421,7 @@ namespace smt {
424
421
m_not_l = null_literal;
425
422
}
426
423
if (is_sat == l_true) {
424
+ TRACE (" context" , display (tout););
427
425
delete_unfixed (unfixed);
428
426
}
429
427
extract_fixed_consequences (num_units, _assumptions, conseq);
@@ -639,7 +637,7 @@ namespace smt {
639
637
for (expr* a : assumptions) {
640
638
assert_expr (a);
641
639
}
642
- TRACE (" context" , tout << " checking: " << mk_pp (c, m) << " \n " ;);
640
+ TRACE (" context" , tout << " checking fixed : " << mk_pp (c, m) << " \n " ;);
643
641
tmp = m.mk_not (c);
644
642
assert_expr (tmp);
645
643
VERIFY (check () != l_true);
0 commit comments