}
}
+void Smt2Printer::toStream(std::ostream& out, const Result& r) const throw() {
+ if (r.getType() == Result::TYPE_SAT && r.isSat() == Result::SAT_UNKNOWN) {
+ out << "unknown";
+ } else {
+ Printer::toStream(out, r);
+ }
+}
static void toStream(std::ostream& out, const AssertCommand* c) throw() {
out << "(assert " << c->getExpr() << ")";
void toStream(std::ostream& out, const CommandStatus* s) const throw();
//for models
void toStream(std::ostream& out, Model* m, Command* c, int c_type ) const throw();
+ void toStream(std::ostream& out, const Result& r) const throw();
};/* class Smt2Printer */
}/* CVC4::printer::smt2 namespace */
(declare-fun p () Bool)
(assert (and (= a b) (forall ((x U)) (=> (and (= (f x) a) (not (= (f x) b))) p))))
(check-sat)
+(get-info :reason-unknown)
(exit)
% COMMAND-LINE: --decision=justification --disable-miniscope-quant-fv --disable-miniscope-quant
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
+% EXPECT: (:reason-unknown incomplete)
% EXIT: 0
(assert (not (= i1 i2)))
(assert (not (= (store_uf (store_uf a1 i1 e1) i2 e2) (store_uf (store_uf a1 i2 e2) i1 e1))))
(check-sat)
+(get-info :reason-unknown)
(exit)
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
+% EXPECT: (:reason-unknown incomplete)
% EXIT: 0
(declare-fun store2 (Int) Int)
(assert (forall ((?A Int) (?o Int) (?f Int) (?p Int) (?g Int) (?v Int)) (=> (not (= ?o ?p)) (= (select2 (store2 ?A)) (select2 ?A)))))
(check-sat)
+(get-info :reason-unknown)
(exit)
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
+% EXPECT: (:reason-unknown incomplete)
% EXIT: 0
(declare-fun p () Bool)
(assert (and (= a b) (forall ((x U)) (=> (and (= (f x) a) (not (= (f x) b))) p))))
(check-sat)
+(get-info :reason-unknown)
(exit)
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
+% EXPECT: (:reason-unknown incomplete)
% EXIT: 0
(declare-fun f (U) U)
(assert (and (= a b) (forall ((x U)) (=> (or (= (f x) c) (= x a)) (= x b)))))
(check-sat)
+(get-info :reason-unknown)
(exit)
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
+% EXPECT: (:reason-unknown incomplete)
% EXIT: 0
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
% EXIT: 0
%--------------------------------------------------------------------------
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
% EXIT: 0
%--------------------------------------------------------------------------
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
% EXIT: 0
%--------------------------------------------------------------------------
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
% EXIT: 0
%--------------------------------------------------------------------------
-% EXPECT: unknown (INCOMPLETE)
+% EXPECT: unknown
% EXIT: 0
%--------------------------------------------------------------------------