diff options
author | Unknown <afd@afd-THINK> | 2012-08-07 16:43:03 +0100 |
---|---|---|
committer | Unknown <afd@afd-THINK> | 2012-08-07 16:43:03 +0100 |
commit | afcaa6d1f8a01b8eefe10e268cff58cf405ecfaa (patch) | |
tree | 301b5f1b4763ea652cd4f2212dba0233ae95f173 | |
parent | c2a4326f10d5a83aec2df56572a51075663ac142 (diff) | |
parent | cf732a4863e027378e30e7a6e3cb02c94eeb9f42 (diff) |
Merge
-rw-r--r-- | Source/Houdini/Houdini.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/Houdini/Houdini.cs b/Source/Houdini/Houdini.cs index ab2fa74f..526302db 100644 --- a/Source/Houdini/Houdini.cs +++ b/Source/Houdini/Houdini.cs @@ -485,14 +485,18 @@ namespace Microsoft.Boogie.Houdini { public bool MatchCandidate(Expr boogieExpr, out Variable candidateConstant) {
candidateConstant = null;
- IExpr antecedent;
+ IExpr antecedent, consequent;
IExpr expr = boogieExpr as IExpr;
- if (expr != null && ExprUtil.Match(expr, Prop.Implies, out antecedent)) {
+ if (expr != null && ExprUtil.Match(expr, Prop.Implies, out antecedent, out consequent)) {
IdentifierExpr.ConstantFunApp constantFunApp = antecedent as IdentifierExpr.ConstantFunApp;
if (constantFunApp != null && houdiniConstants.Contains(constantFunApp.IdentifierExpr.Decl)) {
candidateConstant = constantFunApp.IdentifierExpr.Decl;
return true;
}
+
+ var e = consequent as Expr;
+ if (e != null && MatchCandidate(e, out candidateConstant))
+ return true;
}
return false;
}
|