rewriterules: fix a correction bug with --simplification=batch
authorFrançois Bobot <francois@bobot.eu>
Tue, 21 Aug 2012 20:53:49 +0000 (20:53 +0000)
committerFrançois Bobot <francois@bobot.eu>
Tue, 21 Aug 2012 20:53:49 +0000 (20:53 +0000)
commit3eaa11b288348aeb71d3fad4f3719525c253fc91
tree28a5f253ceb9f688db8d6cb4b450ea6c53922fe5
parent59046763d2e5b26d720a3a320b351292bad867ac
rewriterules: fix a correction bug with --simplification=batch

  Rewriterules used ppAssert to obtain early the rewriterules in order
  to use them in ppRewrite. But all the simplifications (ex. f x = b :
  [f x/b]) are not done at that point. Since --simplification=batch
  remove the equality (unlike =incremental), for
  reachability_bbttf_eT_arrays.smt2 the answer was sat instead of
  unsat (thx Andy).

  Partial fix: don't take the rewriterules during ppAssert. That changes
  nothing since early rewrite was already disabled. But the complete
  fix (when early rewrite will be enabled again) will need to take the
  rewriterules more than once.
src/theory/rewriterules/theory_rewriterules.cpp