Refactor collectModelInfo in TheoryArith (#5027)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 16 Sep 2020 15:21:40 +0000 (10:21 -0500)
committerGitHub <noreply@github.com>
Wed, 16 Sep 2020 15:21:40 +0000 (10:21 -0500)
commite2a64ae3e03ade771363df90dfa3f50b87a9205a
tree55ac6321e41f125e7be7d87c3095437147e17ecf
parente61c6ecf2e8c569d9f1b5f27ec1309371cc45cff
Refactor collectModelInfo in TheoryArith (#5027)

This is work towards updating the arithmetic solver to the new standard, and in particular isolating TheoryArithPrivate as the "linear solver", and TheoryArith as the overall approach for arithmetic.

This transfers ownership of the non-linear extension from TheoryArithPrivate to TheoryArith. The former still has a pointer to the non-linear extension, which will be removed with further refactoring.

This PR additionally moves the code that handles the interplay of the non-linear extension in TheoryArithPrivate::collectModelInfo to TheoryArith, and simplifies the model interface for TheoryArithPrivate.
src/theory/arith/theory_arith.cpp
src/theory/arith/theory_arith.h
src/theory/arith/theory_arith_private.cpp
src/theory/arith/theory_arith_private.h