From 341239955adbadc6506e69c56b70e0eec6681e3c Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <ekneuss@gmail.com> Date: Wed, 13 May 2015 12:46:41 +0200 Subject: [PATCH] Fix VC numbering, options, and solver names. --- .../SMTLIBCVC4CounterExampleSolver.scala | 3 ++- .../solvers/smtlib/SMTLIBCVC4ProofSolver.scala | 3 ++- .../smtlib/SMTLIBCVC4QuantifiedSolver.scala | 2 +- .../leon/solvers/smtlib/SMTLIBCVC4Solver.scala | 1 + .../leon/solvers/smtlib/SMTLIBSolver.scala | 18 +++++++++--------- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4CounterExampleSolver.scala b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4CounterExampleSolver.scala index 6a42646e6..361806c2d 100644 --- a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4CounterExampleSolver.scala +++ b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4CounterExampleSolver.scala @@ -7,11 +7,12 @@ import purescala.Definitions.Program class SMTLIBCVC4CounterExampleSolver(context: LeonContext, program: Program) extends SMTLIBCVC4QuantifiedSolver(context, program) { - override val targetName = "cvc4-cex" + override def targetName = "cvc4-cex" override def interpreterOps(ctx: LeonContext) = { Seq( "-q", + "--rewrite-divk", "--produce-models", "--print-success", "--lang", "smt", diff --git a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4ProofSolver.scala b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4ProofSolver.scala index 32bc12b4e..678d5915f 100644 --- a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4ProofSolver.scala +++ b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4ProofSolver.scala @@ -7,7 +7,7 @@ import leon.purescala.Definitions.Program class SMTLIBCVC4ProofSolver(context: LeonContext, program: Program) extends SMTLIBCVC4QuantifiedSolver(context, program) { - override val targetName = "cvc4-proof" + override def targetName = "cvc4-proof" override def interpreterOps(ctx: LeonContext) = { Seq( @@ -15,6 +15,7 @@ class SMTLIBCVC4ProofSolver(context: LeonContext, program: Program) extends SMTL "--print-success", "--lang", "smt", "--quant-ind", + "--rewrite-divk", "--conjecture-gen", "--conjecture-gen-per-round=3", "--conjecture-gen-gt-enum=40", diff --git a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4QuantifiedSolver.scala b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4QuantifiedSolver.scala index f5de0bb34..3bdc59d25 100644 --- a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4QuantifiedSolver.scala +++ b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4QuantifiedSolver.scala @@ -16,7 +16,7 @@ import smtlib.theories.Core.Equals // It is not meant as an underlying solver to UnrollingSolver, and does not handle HOFs. abstract class SMTLIBCVC4QuantifiedSolver(context: LeonContext, program: Program) extends SMTLIBCVC4Solver(context, program) { - override val targetName = "cvc4-quantified" + override def targetName = "cvc4-quantified" private val typedFunDefExplorationLimit = 10000 diff --git a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4Solver.scala b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4Solver.scala index 69d12b686..cfc92dc44 100644 --- a/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4Solver.scala +++ b/src/main/scala/leon/solvers/smtlib/SMTLIBCVC4Solver.scala @@ -33,6 +33,7 @@ class SMTLIBCVC4Solver(context: LeonContext, program: Program) extends SMTLIBSol "--produce-models", "--no-incremental", "--tear-down-incremental", + "--rewrite-divk", // "--dt-rewrite-error-sel", // Removing since it causes CVC4 to segfault on some inputs "--print-success", "--lang", "smt" diff --git a/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala b/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala index 37e5908dc..37bedaebf 100644 --- a/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala +++ b/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala @@ -87,15 +87,6 @@ abstract class SMTLIBSolver(val context: LeonContext, /** Translation from Leon Expressions etc. */ - // Unique numbers - protected object VCNumbers { - private var nexts = Map[String, Int]().withDefaultValue(0) - def getNext(id: String) = { - val n = nexts(id)+1 - nexts += id -> n - n - } - } // Symbols protected object SimpleSymbol { @@ -904,3 +895,12 @@ abstract class SMTLIBSolver(val context: LeonContext, } +// Unique numbers +protected object VCNumbers { + private var nexts = Map[String, Int]().withDefaultValue(0) + def getNext(id: String) = { + val n = nexts(id)+1 + nexts += id -> n + n + } +} -- GitLab