File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -66,6 +66,10 @@ optionalt<bool> prop_conv_solvert::get_bool(const exprt &expr) const
66
66
67
67
return prop.l_get (result->second ).is_true ();
68
68
}
69
+ else if (expr.id () == ID_literal)
70
+ {
71
+ return prop.l_get (to_literal_expr (expr).get_literal ()).is_true ();
72
+ }
69
73
70
74
// sub-expressions
71
75
Original file line number Diff line number Diff line change @@ -208,6 +208,24 @@ exprt smt2_convt::get(const exprt &expr) const
208
208
return nil_exprt ();
209
209
return member_exprt (tmp, member_expr.get_component_name (), expr.type ());
210
210
}
211
+ else if (expr.id () == ID_literal)
212
+ {
213
+ auto l = to_literal_expr (expr).get_literal ();
214
+ if (l_get (l).is_true ())
215
+ return true_exprt ();
216
+ else
217
+ return false_exprt ();
218
+ }
219
+ else if (expr.id () == ID_not)
220
+ {
221
+ auto op = get (to_not_expr (expr).op ());
222
+ if (op.is_true ())
223
+ return false_exprt ();
224
+ else if (op.is_false ())
225
+ return true_exprt ();
226
+ }
227
+ else if (expr.is_constant ())
228
+ return expr;
211
229
212
230
return nil_exprt ();
213
231
}
You can’t perform that action at this time.
0 commit comments