sosy-lab / java-smt

JavaSMT - Unified Java API for SMT solvers.
Apache License 2.0
182 stars 46 forks source link

Iterating over model values in SMTInterpol #33

Closed cheshire closed 8 years ago

cheshire commented 8 years ago

SMTInterpol's Model interface only exposes an evaluate method, and does not support iterating over model values. The current code somewhat arbitrary decides to populate the dict with the values of the boolean constraints which were pushed to the solver stack. I think we should:

cheshire commented 8 years ago

I also strongly suspect that the code for function values in model was never actually run, as we don't actually use functions of boolean sort in cpachecker.

cheshire commented 8 years ago

Oh wait, sorry, I was wrong, the visitor extracts all variables and UFs from the asserted formulas first... OK that should be easy to implement than.

Should be also more efficient, if we do that only in the iterator, so the model creation will not have this cost.