summaryrefslogtreecommitdiff
path: root/Source/Provers/SMTLib/SMTLibLineariser.cs
diff options
context:
space:
mode:
authorGravatar MichalMoskal <unknown>2011-04-02 01:05:31 +0000
committerGravatar MichalMoskal <unknown>2011-04-02 01:05:31 +0000
commit32fe52ad799e68b6d1531b1cef81910b7b20424d (patch)
tree173121846a21bb1e1e6cff079b95b4b93800956d /Source/Provers/SMTLib/SMTLibLineariser.cs
parent206566c8843b00478355c0bd3d1cc3400e8b112b (diff)
Use new, SMT2 compliant, Z3 syntax for labels
Diffstat (limited to 'Source/Provers/SMTLib/SMTLibLineariser.cs')
-rw-r--r--Source/Provers/SMTLib/SMTLibLineariser.cs5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/Provers/SMTLib/SMTLibLineariser.cs b/Source/Provers/SMTLib/SMTLibLineariser.cs
index a2d6952c..7ac2e2bb 100644
--- a/Source/Provers/SMTLib/SMTLibLineariser.cs
+++ b/Source/Provers/SMTLib/SMTLibLineariser.cs
@@ -516,7 +516,8 @@ namespace Microsoft.Boogie.SMTLib
var op = (VCExprLabelOp)node.Op;
if (ExprLineariser.ProverOptions.UseLabels) {
// Z3 extension
- wr.Write("({0} {1} ", op.pos ? "lblpos" : "lblneg", SMTLibNamer.QuoteId(op.label));
+ //wr.Write("({0} {1} ", op.pos ? "lblpos" : "lblneg", SMTLibNamer.QuoteId(op.label));
+ wr.Write("(! ");
}
wr.Write("({0} {1} ", op.pos ? "and" : "or", SMTLibNamer.QuoteId(SMTLibNamer.LabelVar(op.label)));
@@ -526,7 +527,7 @@ namespace Microsoft.Boogie.SMTLib
wr.Write(")");
if (ExprLineariser.ProverOptions.UseLabels)
- wr.Write(")");
+ wr.Write(" :{0} {1})", op.pos ? "lblpos" : "lblneg", SMTLibNamer.QuoteId(op.label));
return true;
}