Do not delay processing equivalence class merges in datatypes (#4952)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 28 Aug 2020 08:19:32 +0000 (03:19 -0500)
committerGitHub <noreply@github.com>
Fri, 28 Aug 2020 08:19:32 +0000 (01:19 -0700)
commitd03fa5697e278bef5cbc385978634421cb5a050b
treeb6c2871ddcce59444d0b82f9bdc1e6039e613ee9
parenta0a969d7d65a778f2230ee920339541fdf380234
Do not delay processing equivalence class merges in datatypes (#4952)

Currently, the theory of datatypes buffers its processing of when equivalence class merges are processed. This was an earlier design to avoid using the equality engine while it was doing internal operations. Now, equivalence class merge callbacks are called at a time when it is safe to use the equality engine and thus this level of indirection is unnecessary.

This will simplify further work on datatypes towards having a standard inference manager.
src/theory/datatypes/theory_datatypes.cpp
src/theory/datatypes/theory_datatypes.h