From 72986ccf378dcdbede11d93c70601fdcc5b438ed Mon Sep 17 00:00:00 2001 From: ajreynol Date: Fri, 3 Mar 2017 10:33:03 -0600 Subject: [PATCH] Another minor fix for sets related to sharing + finite element types. --- src/theory/sets/theory_sets_private.cpp | 3 +++ test/regress/regress0/sets/Makefile.am | 3 ++- test/regress/regress0/sets/abt-te-exh.smt2 | 13 +++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 test/regress/regress0/sets/abt-te-exh.smt2 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) + -- 2.30.2