Change datatypes lemma policy for equalities not coming from instantiate (#5325)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 23 Oct 2020 18:24:05 +0000 (13:24 -0500)
committerGitHub <noreply@github.com>
Fri, 23 Oct 2020 18:24:05 +0000 (13:24 -0500)
commit20e58d420e4985ecc2cb76b5fcd55d4db8d9adc6
tree4b1e26899baab6f94f7235439158a877d1d6de6e
parentf66e1fc33ee7549c90eabc808be5a6ef6196aaa0
Change datatypes lemma policy for equalities not coming from instantiate (#5325)

Recently, the policy for lemma vs fact changed for instantiate rule in datatypes to ensure that other theories were notified of terms having external finite type. This PR further refines the policy so that the instantiate rule is the only rule whose conclusion is an equality that is sent out as a lemma.

This means that equalities from unification and collapsing selectors are always kept internal. The justification for this is that the instantiate rule is applied for all terms with the proper policy, and hence it already covers all cases where we may need to introduce new terms.
src/theory/datatypes/inference.cpp
src/theory/datatypes/inference.h