Add interface for getting preprocessed term (#5798)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Sun, 24 Jan 2021 17:42:08 +0000 (11:42 -0600)
committerGitHub <noreply@github.com>
Sun, 24 Jan 2021 17:42:08 +0000 (11:42 -0600)
commit1d49bcb407777cf177620dac4d8e4df82f5e1122
tree00ea9256957d8547519b7164d10344d7313e56c8
parent109e7e43efdeb557ff17880da83da438db35eb3e
Add interface for getting preprocessed term (#5798)

Several places, e.g. in quantifiers, requiring knowing what the theory-preprocessed form of a node is.

This is required for an improvement to our E-matching algorithm, which requires knowing what the preprocessed form of ground subterms of triggers are.

Note that I'm not 100% happy with adding a new interface to Valuation, but at the moment I don't see a better way of doing this. On the positive side, this interface will make a few other things (e.g. the return value of OutputChannel::lemma) obsolete.
src/prop/prop_engine.cpp
src/prop/prop_engine.h
src/theory/theory_engine.cpp
src/theory/theory_engine.h
src/theory/valuation.cpp
src/theory/valuation.h