Refactor SMT-level model object (#5277)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 16 Oct 2020 18:32:42 +0000 (13:32 -0500)
committerGitHub <noreply@github.com>
Fri, 16 Oct 2020 18:32:42 +0000 (13:32 -0500)
commit7c249b3efdeeb51fd3dfc2571bc529c55880cf5c
tree220a1c3f2aa53b047c2a52260fce3bd2dce22429
parent547df7cd146091674562dfa4812f10bae7765934
Refactor SMT-level model object (#5277)

This refactors the SMT-level model object so that it is a wrapper around TheoryModel instead of a base class. This inheritance was unnecessary.

Moreover, it removes the virtual base models of the SMT-level model which were based on Expr. Now the interface is more minimal and in terms of Node only.

This PR further simplifies a few places in the code that interface with the SmtEngine with things related to models.
23 files changed:
src/api/cvc4cpp.cpp
src/printer/ast/ast_printer.cpp
src/printer/ast/ast_printer.h
src/printer/cvc/cvc_printer.cpp
src/printer/cvc/cvc_printer.h
src/printer/printer.cpp
src/printer/printer.h
src/printer/smt2/smt2_printer.cpp
src/printer/smt2/smt2_printer.h
src/printer/tptp/tptp_printer.cpp
src/printer/tptp/tptp_printer.h
src/smt/command.h
src/smt/model.cpp
src/smt/model.h
src/smt/model_blocker.cpp
src/smt/model_core_builder.cpp
src/smt/model_core_builder.h
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/theory/theory_model.cpp
src/theory/theory_model.h
src/theory/theory_model_builder.cpp
src/theory/theory_model_builder.h