diff options
author | Unknown <qadeer@FAIZ-AHMED-FAIZ.redmond.corp.microsoft.com> | 2013-01-30 12:43:15 -0800 |
---|---|---|
committer | Unknown <qadeer@FAIZ-AHMED-FAIZ.redmond.corp.microsoft.com> | 2013-01-30 12:43:15 -0800 |
commit | 06055fdd22eeb9015d215e71996e4714c183ef19 (patch) | |
tree | bdd9aa1ee6667426903f7721abc8d84f1873da83 /Source/Core/LinearSets.cs | |
parent | b2ed78d44c2b79dd0ed070012ee0d310fb7a4ad0 (diff) |
handling old() in stable assertions
bug fix in linear
Diffstat (limited to 'Source/Core/LinearSets.cs')
-rw-r--r-- | Source/Core/LinearSets.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Source/Core/LinearSets.cs b/Source/Core/LinearSets.cs index ffbd4e31..4edbfeed 100644 --- a/Source/Core/LinearSets.cs +++ b/Source/Core/LinearSets.cs @@ -480,11 +480,15 @@ namespace Microsoft.Boogie lhsVars.Add(v);
domainNames.Add(varToDomainName[v]);
}
- foreach (Variable v in lhsVars.Except(rhsVars))
+ foreach (Variable v in lhsVars.Union(rhsVars))
{
Drain(newCmds, v, varToDomainName[v]);
}
newCmds.Add(callCmd);
+ foreach (string domainName in domainNames)
+ {
+ newCmds.Add(new AssumeCmd(Token.NoToken, DisjointnessExpr(domainName, domainNameToScope[domainName])));
+ }
IdentifierExprSeq havocExprs = new IdentifierExprSeq();
foreach (Variable v in rhsVars.Except(lhsVars))
{
@@ -494,10 +498,6 @@ namespace Microsoft.Boogie {
TransformHavocCmd(newCmds, new HavocCmd(Token.NoToken, havocExprs), copies, domainNameToScope);
}
- foreach (string domainName in domainNames)
- {
- newCmds.Add(new AssumeCmd(Token.NoToken, DisjointnessExpr(domainName, domainNameToScope[domainName])));
- }
}
void TransformAssignCmd(CmdSeq newCmds, AssignCmd assignCmd, Dictionary<Variable, LocalVariable> copies, Dictionary<string, HashSet<Variable>> domainNameToScope)
|