diff options
author | qadeer <unknown> | 2014-01-16 13:48:34 -0800 |
---|---|---|
committer | qadeer <unknown> | 2014-01-16 13:48:34 -0800 |
commit | 55dc4cbfddfaf1487e9c731b51986cafd0aa4817 (patch) | |
tree | 1839eeb5ead75d1f5a0f7e030952a98b717e5fb0 /Source/Concurrency | |
parent | b8b2db4bcee67212cad10d78cdbc142be5814d66 (diff) |
fix for a completeness bug (reported by Serdar) in refinement checker
Diffstat (limited to 'Source/Concurrency')
-rw-r--r-- | Source/Concurrency/OwickiGries.cs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/Concurrency/OwickiGries.cs b/Source/Concurrency/OwickiGries.cs index c190ec08..85fce9ff 100644 --- a/Source/Concurrency/OwickiGries.cs +++ b/Source/Concurrency/OwickiGries.cs @@ -881,6 +881,11 @@ namespace Microsoft.Boogie ParCallCmd parCallCmd = cmd as ParCallCmd;
AddCallToYieldProc(parCallCmd.tok, newCmds, ogOldGlobalMap, domainNameToLocalVar);
DesugarParallelCallCmd(newCmds, parCallCmd);
+ if (globalMods.Count > 0 && pc != null)
+ {
+ // assume pc || alpha(i, g);
+ newCmds.Add(new AssumeCmd(Token.NoToken, Expr.Or(Expr.Ident(pc), alpha)));
+ }
HashSet<Variable> availableLinearVars = new HashSet<Variable>(AvailableLinearVars(parCallCmd));
foreach (CallCmd callCmd in parCallCmd.CallCmds)
{
|