Avoid duplicate lemmas in datatypes (#3310)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 4 Oct 2019 07:12:02 +0000 (02:12 -0500)
committerAndres Noetzli <andres.noetzli@gmail.com>
Fri, 4 Oct 2019 07:12:02 +0000 (00:12 -0700)
commit472c5a592c78e4757b3201f9e20908a4c645921b
tree43aa40d426af3d8b05fd358951601a1eecbf25ff
parent167947ab81094de28251bb885c8cf84e7168c43b
Avoid duplicate lemmas in datatypes (#3310)

We previously were sending e.g. dt.size >= 0 lemmas when size terms are pre-registered, which can happen multiple times in a user context. This ensures we cache whether a lemma is sent in a user-context dependent way in the datatypes solver. This ensures we don't send the same lemma twice for dt.size >= 0 lemmas.
src/theory/datatypes/theory_datatypes.cpp
src/theory/datatypes/theory_datatypes.h