Refactoring skolems for sets (#3381)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 23 Oct 2019 00:42:55 +0000 (19:42 -0500)
committerAndres Noetzli <andres.noetzli@gmail.com>
Wed, 23 Oct 2019 00:42:55 +0000 (17:42 -0700)
commit0d4d9bf3f31687d9cf48b0c45ab420b06ff099f7
tree20aa9529e41f92725edae2868cbebef9b3fb36bd
parent2caeef9745366ad4c45f61dabedf1cd7f676a4a1
Refactoring skolems for sets (#3381)

This refactors skolems introduced in the theory of sets. This is analogous to how skolems are treated for the theory of strings.

A key change that this commit enables is to identify "variable" sets based on those that weren't introduced by the SkolemCache (instead of via a check that their kind is `VARIABLE`, which is done currently and is error prone).
src/theory/sets/skolem_cache.cpp
src/theory/sets/skolem_cache.h
src/theory/sets/solver_state.cpp
src/theory/sets/theory_sets_private.cpp
src/theory/sets/theory_sets_rels.cpp