Skip to content

Commit

Permalink
small refactoring in refinement instrumentation code
Browse files Browse the repository at this point in the history
  • Loading branch information
shazqadeer committed Jan 1, 2020
1 parent f2b2926 commit 3eabc80
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions Source/Concurrency/RefinementInstrumentation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ public SomeRefinementInstrumentation(
}
else
{
beta = Expr.And(this.oldGlobalMap.Keys.Select(v => Expr.Eq(Expr.Ident(v), foroldMap[v])));
beta = OldEqualityExprForGlobals();
alpha = Expr.True;
}

Expand Down Expand Up @@ -315,24 +315,17 @@ private AssertCmd CreateSkipAssertCmd()

private Expr OldEqualityExpr()
{
Expr bb = OldEqualityExprForGlobals();
foreach (Variable o in oldOutputMap.Keys)
{
bb = Expr.And(bb, Expr.Eq(Expr.Ident(o), Expr.Ident(oldOutputMap[o])));
bb.Type = Type.Bool;
}
return bb;
return Expr.And(OldEqualityExprForGlobals(), OldEqualityExprForOutputs());
}

private Expr OldEqualityExprForGlobals()
{
Expr bb = Expr.True;
foreach (Variable g in oldGlobalMap.Keys)
{
bb = Expr.And(bb, Expr.Eq(Expr.Ident(g), Expr.Ident(oldGlobalMap[g])));
bb.Type = Type.Bool;
}
return bb;
return Expr.And(this.oldGlobalMap.Select(kvPair => Expr.Eq(Expr.Ident(kvPair.Key), Expr.Ident(kvPair.Value))));
}

private Expr OldEqualityExprForOutputs()
{
return Expr.And(this.oldOutputMap.Select(kvPair => Expr.Eq(Expr.Ident(kvPair.Key), Expr.Ident(kvPair.Value))));
}

private LocalVariable Old(Variable v)
Expand Down

0 comments on commit 3eabc80

Please sign in to comment.