Update sets inference manager to inherit from InferenceManagerBuffered (#5007)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 3 Sep 2020 23:31:36 +0000 (18:31 -0500)
committerGitHub <noreply@github.com>
Thu, 3 Sep 2020 23:31:36 +0000 (18:31 -0500)
commit0fe081a56db369372584a5fcd35a4c4e4fb1c23f
treea24f9f3dbb0ede1faf09a276d96c2714d3bf75c0
parent19ff08d652de2890eee4674d2a6debe10e879f1f
Update sets inference manager to inherit from InferenceManagerBuffered (#5007)

This updates the inference manager of sets to inherit from the standard base class InferenceManagerBuffered.

It matches that base class almost exactly, with cosmetic changes.

Notice that sets currently has a design issue: the state object sends lemmas and hence currently requires a pointer to the theory. This will be untangled in a future PR.

This PR makes a few very minor changes to the behavior, including not to use the "preprocess" property for subtype lemmas.
16 files changed:
src/theory/inference_manager_buffered.cpp
src/theory/inference_manager_buffered.h
src/theory/sets/cardinality_extension.cpp
src/theory/sets/cardinality_extension.h
src/theory/sets/inference_manager.cpp
src/theory/sets/inference_manager.h
src/theory/sets/solver_state.cpp
src/theory/sets/solver_state.h
src/theory/sets/theory_sets.cpp
src/theory/sets/theory_sets.h
src/theory/sets/theory_sets_private.cpp
src/theory/sets/theory_sets_private.h
src/theory/sets/theory_sets_rels.cpp
src/theory/sets/theory_sets_rels.h
src/theory/theory_inference_manager.cpp
src/theory/theory_inference_manager.h