From 93fd4aed186c3dfa1b0fa7bec102f5b94edca322 Mon Sep 17 00:00:00 2001 From: Andrew Reynolds Date: Mon, 22 Mar 2021 09:51:05 -0500 Subject: Guard for non-unique skolems in term formula removal (#6179) In rare cases, we may reuse skolems for different terms (those that are the same up to purification) due to recent changes in how skolem are generated. This guards for this case in the term formula remover, which avoids assertion failures in cd insert hash map. Fixes #6132. --- test/regress/regress1/strings/issue6132-non-unique-skolem.smt2 | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 test/regress/regress1/strings/issue6132-non-unique-skolem.smt2 (limited to 'test/regress/regress1') diff --git a/test/regress/regress1/strings/issue6132-non-unique-skolem.smt2 b/test/regress/regress1/strings/issue6132-non-unique-skolem.smt2 new file mode 100644 index 000000000..29d0e9469 --- /dev/null +++ b/test/regress/regress1/strings/issue6132-non-unique-skolem.smt2 @@ -0,0 +1,7 @@ +; COMMAND-LINE: --strings-exp +; EXPECT: sat +(set-logic ALL) +(declare-fun str () String) +(assert (= 0 (ite (= str (str.from_code + (ite (= 0 (ite (> (str.len (str.from_int (str.len str))) 1) 1 0)) 1 0))) 1 0))) +(check-sat) -- cgit v1.2.3