diff options
-rw-r--r-- | src/theory/sets/theory_sets_private.cpp | 3 | ||||
-rw-r--r-- | test/regress/regress0/sets/Makefile.am | 3 | ||||
-rw-r--r-- | test/regress/regress0/sets/abt-te-exh.smt2 | 13 |
3 files changed, 18 insertions, 1 deletions
diff --git a/src/theory/sets/theory_sets_private.cpp b/src/theory/sets/theory_sets_private.cpp index 5550ee1b0..7d2bbf3d1 100644 --- a/src/theory/sets/theory_sets_private.cpp +++ b/src/theory/sets/theory_sets_private.cpp @@ -532,6 +532,9 @@ void TheorySetsPrivate::fullEffortCheck(){ if( tn.isSet() ){ isSet = true; d_set_eqc.push_back( eqc ); + if( d_equalityEngine.isTriggerTerm(eqc, THEORY_SETS) ){ + d_set_eqc_relevant[eqc] = true; + } } Trace("sets-eqc") << "[" << eqc << "] : "; eq::EqClassIterator eqc_i = eq::EqClassIterator( eqc, &d_equalityEngine ); diff --git a/test/regress/regress0/sets/Makefile.am b/test/regress/regress0/sets/Makefile.am index eeced7430..62f8665ec 100644 --- a/test/regress/regress0/sets/Makefile.am +++ b/test/regress/regress0/sets/Makefile.am @@ -72,7 +72,8 @@ TESTS = \ card-5.smt2 \ card-6.smt2 \ card-7.smt2 \ - abt-min.smt2 + abt-min.smt2 \ + abt-te-exh.smt2 EXTRA_DIST = $(TESTS) diff --git a/test/regress/regress0/sets/abt-te-exh.smt2 b/test/regress/regress0/sets/abt-te-exh.smt2 new file mode 100644 index 000000000..f87429fc2 --- /dev/null +++ b/test/regress/regress0/sets/abt-te-exh.smt2 @@ -0,0 +1,13 @@ +; COMMAND-LINE: --finite-model-find +; EXPECT: sat +(set-logic ALL) +(declare-sort Atom 0) + +(declare-fun j ((Set Atom)) Atom) +(declare-fun kk (Atom (Set Atom)) (Set Atom)) +(declare-fun n () (Set Atom)) + +(assert (forall ((b Atom)) (= (as emptyset (Set Atom)) (kk (j (singleton b)) n)))) + +(check-sat) + |