diff options
author | Rustan Leino <leino@microsoft.com> | 2011-06-29 16:50:57 -0700 |
---|---|---|
committer | Rustan Leino <leino@microsoft.com> | 2011-06-29 16:50:57 -0700 |
commit | efe732baac2d81573bdd220e41bffaedf1f9eab4 (patch) | |
tree | 0edfc0fd97211a11006f2ddb7d23ec1ff80d200d /Source/VCExpr/TypeErasureArguments.cs | |
parent | 507b50ed1ccc51bbd24f3cea6f3c287b97b3d299 (diff) |
Boogie: use (WEIGHT 0) with the select-of-store axioms
Diffstat (limited to 'Source/VCExpr/TypeErasureArguments.cs')
-rw-r--r-- | Source/VCExpr/TypeErasureArguments.cs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Source/VCExpr/TypeErasureArguments.cs b/Source/VCExpr/TypeErasureArguments.cs index 8187fa10..57218a73 100644 --- a/Source/VCExpr/TypeErasureArguments.cs +++ b/Source/VCExpr/TypeErasureArguments.cs @@ -60,7 +60,7 @@ namespace Microsoft.Boogie.TypeErasure { List<VCTrigger/*!*/>/*!*/ triggers;
VCExprVar/*!*/ var;
VCExpr/*!*/ eq = GenReverseCastEq(castToU, castFromU, out var, out triggers);
- return Gen.Forall(HelperFuns.ToList(var), triggers, "cast:" + castFromU.Name, eq);
+ return Gen.Forall(HelperFuns.ToList(var), triggers, "cast:" + castFromU.Name, -1, eq);
}
protected override VCExpr GenCastTypeAxioms(Function castToU, Function castFromU) {
@@ -316,8 +316,7 @@ Contract.Ensures(Contract.ValueAtReturn(out store) != null); VCExpr/*!*/ eq = Gen.Eq(selectExpr, val);
Contract.Assert(eq != null);
- return Gen.Forall(quantifiedVars, new List<VCTrigger/*!*/>(),
- "mapAx0:" + select.Name, eq);
+ return Gen.Forall(quantifiedVars, new List<VCTrigger/*!*/>(), "mapAx0:" + select.Name, 0, eq);
}
private VCExpr/*!*/ GenMapAxiom1(Function/*!*/ select, Function/*!*/ store,
@@ -397,8 +396,7 @@ Contract.Ensures(Contract.ValueAtReturn(out store) != null); Contract.Assert(indexesEq != null);
VCExpr/*!*/ matrix = Gen.Or(indexesEq, selectEq);
Contract.Assert(matrix != null);
- VCExpr/*!*/ conjunct = Gen.Forall(quantifiedVars, triggers,
- "mapAx1:" + select.Name + ":" + n, matrix);
+ VCExpr/*!*/ conjunct = Gen.Forall(quantifiedVars, triggers, "mapAx1:" + select.Name + ":" + n, 0, matrix);
Contract.Assert(conjunct != null);
axiom = Gen.AndSimp(axiom, conjunct);
n = n + 1;
|