Use state and inference manager in UF CardinalityExtension (#5036)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 10 Sep 2020 00:19:41 +0000 (19:19 -0500)
committerGitHub <noreply@github.com>
Thu, 10 Sep 2020 00:19:41 +0000 (19:19 -0500)
commitabc5af448a464615018c020c9ec6bb1e8dd4d48c
tree009b0d971e8ffd4ad39e649cc6d7a6346ee98b2d
parent3d181b9b308a24a4cec9bf949f457bc77515c1bc
Use state and inference manager in UF CardinalityExtension (#5036)

Previously, the cardinality extension of UF maintained its own (SAT-context-dependent) conflict flag, made custom calls to output channel, and maintained its own cache of lemmas. This standardizes the CardinalityExtension so that it uses state and inference manager of UF, which means that UF and the cardinality extension are fully syncronized concerning whether we are in a conflicting state at all times (d_state.isInConflict). It further cleans up some of the interfaces in CardinalityExtension. This required adding a forwarding method for setIncomplete in inference manager.
src/theory/theory_inference_manager.cpp
src/theory/theory_inference_manager.h
src/theory/uf/cardinality_extension.cpp
src/theory/uf/cardinality_extension.h
src/theory/uf/theory_uf.cpp