summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Mike Barnett <mbarnett@microsoft.com>2011-04-28 13:29:03 -0700
committerGravatar Mike Barnett <mbarnett@microsoft.com>2011-04-28 13:29:03 -0700
commit386085ef362905d564753e8e6d252540ceef0e85 (patch)
tree92f7a417c6aeb5e5b78e237aab1c077c102e7072
parent196dfe4a2c9c003f682399a08ecd9eb7c830c718 (diff)
parent0d9a18e7b1c75b184a2de1164db5fd4d41377c30 (diff)
Merge
-rw-r--r--Source/Provers/SMTLib/ProverInterface.cs11
-rw-r--r--Source/Provers/SMTLib/Z3.cs2
2 files changed, 6 insertions, 7 deletions
diff --git a/Source/Provers/SMTLib/ProverInterface.cs b/Source/Provers/SMTLib/ProverInterface.cs
index f1a00873..11b6e2db 100644
--- a/Source/Provers/SMTLib/ProverInterface.cs
+++ b/Source/Provers/SMTLib/ProverInterface.cs
@@ -371,7 +371,7 @@ namespace Microsoft.Boogie.SMTLib
if (resp == null || Process.IsPong(resp))
break;
if (resp.Name == "labels" && resp.ArgCount >= 1) {
- var labels = resp[0].Arguments.Select(a => a.Name.Replace("|", "")).ToArray();
+ var labels = resp.Arguments.Select(a => a.Name.Replace("|", "")).ToArray();
res = labels;
if (labelNums != null) HandleProverError("Got multiple :labels responses");
labelNums = labels.Select(a => a.Replace("@", "").Replace("+", "")).ToList();
@@ -392,6 +392,8 @@ namespace Microsoft.Boogie.SMTLib
theModel = models[0];
}
}
+ } else {
+ HandleProverError("Unexpected prover response (getting labels/model): " + resp.ToString());
}
}
@@ -435,10 +437,7 @@ namespace Microsoft.Boogie.SMTLib
}
if (wasUnknown) {
- if (options.UseZ3)
- SendThisVC("(get-info :last-failure)");
- else
- SendThisVC("(get-info :reason-unknown)");
+ SendThisVC("(get-info :reason-unknown)");
Process.Ping();
while (true) {
@@ -446,7 +445,7 @@ namespace Microsoft.Boogie.SMTLib
if (resp == null || Process.IsPong(resp))
break;
- if (resp.ArgCount == 1 && (resp.Name == ":reason-unknown" || resp.Name == ":last-failure")) {
+ if (resp.ArgCount == 1 && resp.Name == ":reason-unknown") {
switch (resp[0].Name) {
case "memout":
result = Outcome.OutOfMemory;
diff --git a/Source/Provers/SMTLib/Z3.cs b/Source/Provers/SMTLib/Z3.cs
index 27d86915..54742802 100644
--- a/Source/Provers/SMTLib/Z3.cs
+++ b/Source/Provers/SMTLib/Z3.cs
@@ -124,7 +124,7 @@ namespace Microsoft.Boogie.SMTLib
options.AddWeakSmtOption("ARITH_RANDOM_INITIAL_VALUE", "true");
// The left-to-right structural case-splitting strategy.
- options.AddWeakSmtOption("SORT_AND_OR", "false");
+ //options.AddWeakSmtOption("SORT_AND_OR", "false"); // always false now
options.AddWeakSmtOption("CASE_SPLIT", "3");
// In addition delay adding unit conflicts.