case kind::UNINTERPRETED_SORT_VALUE:
{
- const UninterpretedSortValue& av = n.getConst<UninterpretedSortValue>();
+ const UninterpretedSortValue& v = n.getConst<UninterpretedSortValue>();
std::stringstream ss;
- ss << "(as " << av << " " << n.getType() << ")";
+ ss << "(as " << v << " " << n.getType() << ")";
out << ss.str();
break;
}
std::ostream& operator<<(std::ostream& out, const UninterpretedSortValue& val)
{
- return out << "@a" << val.getIndex();
+ return out << "@" << val.getType() << "_" << val.getIndex();
}
UninterpretedSortValue::UninterpretedSortValue(const TypeNode& type,
-; the purpose of this test is to verify that there is a `as` term in the output.
-; the scrubber searches for "(as @a" patterns.
+; the purpose of this test is to verify that name of the uninterpreted sort appears in the constant output.
+; For example, if the sort is Sort0, then scrubber searches for "(as @Sort0_" patterns.
-; SCRUBBER: grep -o "(as @a"
-; EXPECT: (as @a
-; EXPECT: (as @a
+; SCRUBBER: grep -o "(as @Sort0_"
+; EXPECT: (as @Sort0_
+; EXPECT: (as @Sort0_
(set-logic QF_UF)
(set-option :produce-models true)
(declare-sort Sort0 0)
; DISABLE-TESTER: dump
; COMMAND-LINE: --produce-models
; EXPECT: sat
-; EXPECT: (((f (as @a0 Foo)) 3))
+; EXPECT: (((f (as @Foo_0 Foo)) 3))
(set-logic ALL)
(set-option :produce-models true)
(declare-sort Foo 0)
(declare-fun f (Foo) Int)
(assert (exists ((x Foo)) (= (f x) 3)))
(check-sat)
-(get-value ((f @a0)))
+(get-value ((f @Foo_0)))