Skip to content

Commit e58b5e7

Browse files
author
Daniel Kroening
committed
models for literal_exprt
This enables us to use decision_proceduret::get for handles that are literal_exprt.
1 parent 6c8954b commit e58b5e7

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/solvers/prop/prop_conv_solver.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ optionalt<bool> prop_conv_solvert::get_bool(const exprt &expr) const
6666

6767
return prop.l_get(result->second).is_true();
6868
}
69+
else if(expr.id() == ID_literal)
70+
{
71+
return prop.l_get(to_literal_expr(expr).get_literal()).is_true();
72+
}
6973

7074
// sub-expressions
7175

src/solvers/smt2/smt2_conv.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,14 @@ exprt smt2_convt::get(const exprt &expr) const
208208
return nil_exprt();
209209
return member_exprt(tmp, member_expr.get_component_name(), expr.type());
210210
}
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+
}
211219

212220
return nil_exprt();
213221
}

0 commit comments

Comments
 (0)