* New normal form for arithmetic is in place.
authorTim King <taking@cs.nyu.edu>
Mon, 13 Sep 2010 16:08:21 +0000 (16:08 +0000)
committerTim King <taking@cs.nyu.edu>
Mon, 13 Sep 2010 16:08:21 +0000 (16:08 +0000)
commit0e18d60841c2a7cd5c079b6c0dacf5d61afb4835
tree470e4868ca9576dc20d491afa7462d6e9f1f8c56
parent8d74ddb6380f39034e5cae5d4b094a283e14ffb3
* New normal form for arithmetic is in place.
* src/theory/arith/normal_form.{h,cpp} contains the description for the new
  normal form as well as utilities for dealing with the normal form.
* src/theory/arith/next_arith_rewriter.{h,cpp} contains the new rewriter.
  The new rewriter implements preRewrite() and postRewrite() for arithmetic.
* src/theory/arith/arith_rewriter.{h,cpp} have been removed.
* TheoryArith::rewrite() has been removed.
* Arithmetic with the new normal form outperforms the trunk where the branch
  occurred (-r797) on 46% of the examples in QF_LRA. (33% have no noticeable
  difference.) Some important optimizations are stilling pending to the code
  for handling the new normal form. (Bug 196.)
14 files changed:
src/expr/node_manager.cpp
src/theory/arith/Makefile.am
src/theory/arith/arith_rewriter.cpp [deleted file]
src/theory/arith/arith_rewriter.h [deleted file]
src/theory/arith/arith_utilities.h
src/theory/arith/kinds
src/theory/arith/next_arith_rewriter.cpp [new file with mode: 0644]
src/theory/arith/next_arith_rewriter.h [new file with mode: 0644]
src/theory/arith/normal_form.cpp [new file with mode: 0644]
src/theory/arith/normal_form.h [new file with mode: 0644]
src/theory/arith/tableau.h
src/theory/arith/theory_arith.cpp
src/theory/arith/theory_arith.h
test/unit/theory/theory_arith_white.h