Make buffered inference manager more robust to backtracking (#6833)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 5 Jul 2021 13:03:33 +0000 (08:03 -0500)
committerGitHub <noreply@github.com>
Mon, 5 Jul 2021 13:03:33 +0000 (13:03 +0000)
commitdbf823ab9c0fa1ed3b5ab6e165625c3d3993d65f
treeb848b3f0d44b2643a250c27c83a4f0014f9741ab
parent698d244a00618a0399bce9e15eddef52f68b8c94
Make buffered inference manager more robust to backtracking (#6833)

This makes TheoryEngine notify all theories when a theory sends a conflict. This means that buffered inference managers always clear their buffers when any theory sends a conflict.

This is required for making theories robust to conflicts that may arise when using the central equality engine, where a different theory may raise a conflict during another theory's check.
src/theory/inference_manager_buffered.cpp
src/theory/inference_manager_buffered.h
src/theory/theory.cpp
src/theory/theory.h
src/theory/theory_engine.cpp
src/theory/theory_engine.h
src/theory/theory_inference_manager.cpp
src/theory/theory_inference_manager.h