int main() {
ExprManager em;
SmtEngine smt(&em);
- smt.setOption("incremental", true); // Enable incremental solving
- smt.setLogic("QF_BV"); // Set the logic
+ smt.setLogic("QF_BV"); // Set the logic
// The following example has been adapted from the book A Hacker's Delight by
// Henry S. Warren.
ExprManager em;
SmtEngine smt(&em);
smt.setOption("produce-models", true); // Produce Models
- smt.setOption("incremental", true); // Enable Multiple Queries
smt.setOption("output-language", "cvc4"); // Set the output-language to CVC's
smt.setOption("default-dag-thresh", 0); //Disable dagifying the output
smt.setLogic(string("QF_UFLIRA"));
ExprManager em = new ExprManager();
SmtEngine smt = new SmtEngine(em);
- smt.setOption("incremental", new SExpr(true)); // Enable incremental solving
- smt.setLogic("QF_BV"); // Set the logic
+ smt.setLogic("QF_BV"); // Set the logic
// The following example has been adapted from the book A Hacker's Delight by
// Henry S. Warren.
System.loadLibrary("cvc4jni");
ExprManager exprMgr = new ExprManager();
SmtEngine smt = new SmtEngine(exprMgr);
- smt.setOption("incremental", new SExpr(true));
smt.setOption("output-language", new SExpr("smt2"));
PipedOutputStream solverPipe = new PipedOutputStream();
smt.setOption("tlimit", new SExpr(100));
smt.setOption("produce-models", new SExpr(true)); // Produce Models
- smt.setOption("incremental", new SExpr(true)); // Enable Multiple Queries
smt.setOption("output-language", new SExpr("cvc4")); // output-language
smt.setOption("default-dag-thresh", new SExpr(0)); //Disable dagifying the output
smt.setLogic("QF_UFLIRA");
ExprManager em = new ExprManager();
SmtEngine smt = new SmtEngine(em);
- smt.setOption("incremental", new SExpr(true)); // Enable incremental solving
- smt.setLogic("QF_LIRA"); // Set the logic
+ smt.setLogic("QF_LIRA"); // Set the logic
// Prove that if given x (Integer) and y (Real) then
// the maximum value of y - x is 2/3
// Boilerplate setup for CVC4
ExprManager exprMgr = new ExprManager();
SmtEngine smt = new SmtEngine(exprMgr);
- smt.setOption("incremental", new SExpr(true));
smt.setOption("output-language", new SExpr("smt2"));
// Set up a pair of connected Java streams
int main() {
ExprManager em;
SmtEngine smt(&em);
- smt.setOption("incremental", true); // Enable incremental solving
- smt.setLogic("QF_LIRA"); // Set the logic
+ smt.setLogic("QF_LIRA"); // Set the logic
// Prove that if given x (Integer) and y (Real) then
// the maximum value of y - x is 2/3
pExecutor = new CommandExecutor(*exprMgr, opts);
# else
vector<Options> threadOpts = parseThreadSpecificOptions(opts);
- if(opts[options::incrementalSolving] && !opts[options::incrementalParallel]) {
+ if(opts.wasSetByUser[options::incrementalSolving] &&
+ opts[options::incrementalSolving] &&
+ !opts[options::incrementalParallel]) {
Notice() << "Notice: In --incremental mode, using the sequential solver unless forced by...\n"
<< "Notice: ...the experimental --incremental-parallel option.\n";
exprMgr = new ExprManager(opts);
delete cmd;
}
} else {
+ if(!opts.wasSetByUser(options::incrementalSolving)) {
+ cmd = new SetOptionCommand("incremental", false);
+ pExecutor->doCommand(cmd);
+ delete cmd;
+ }
+
ParserBuilder parserBuilder(exprMgr, filename, opts);
if( inputFromStdin ) {
option sortInference --sort-inference bool :read-write :default false
calculate sort inference of input problem, convert the input based on monotonic sorts
-common-option incrementalSolving incremental -i --incremental bool
+common-option incrementalSolving incremental -i --incremental bool :default true
enable incremental solving
-
option abstractValues abstract-values --abstract-values bool :default false
in models, output arrays (and in future, maybe others) using abstract values, as required by the SMT-LIB standard
option modelUninterpDtEnum --model-u-dt-enum bool :default false