diff options
author | qadeer <qadeer@microsoft.com> | 2012-06-10 21:19:36 -0700 |
---|---|---|
committer | qadeer <qadeer@microsoft.com> | 2012-06-10 21:19:36 -0700 |
commit | 4ced4662fc213b3de328a578de4de72fab6b128f (patch) | |
tree | 74d303bb219f731ef092b9b50b01ba18cbed6489 /Source/VCGeneration | |
parent | 9dd789986a001e31f2f68305748ebc4e37037bdd (diff) | |
parent | 17ccf084e13910ec2c00ac2632eb065a07f497e1 (diff) |
Merge
Diffstat (limited to 'Source/VCGeneration')
-rw-r--r-- | Source/VCGeneration/ConditionGeneration.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/VCGeneration/ConditionGeneration.cs b/Source/VCGeneration/ConditionGeneration.cs index ba58a5de..9837626d 100644 --- a/Source/VCGeneration/ConditionGeneration.cs +++ b/Source/VCGeneration/ConditionGeneration.cs @@ -206,11 +206,23 @@ namespace Microsoft.Boogie { }
}
+ void ApplyRedirections(Model m) {
+ var mapping = new Dictionary<Model.Element, Model.Element>();
+ foreach (var name in new string[] { "U_2_bool", "U_2_int" }) {
+ Model.Func f = m.TryGetFunc(name);
+ if (f != null && f.Arity == 1) {
+ foreach (var ft in f.Apps) mapping[ft.Args[0]] = ft.Result;
+ }
+ }
+ m.Substitute(mapping);
+ }
+
public Model GetModelWithStates()
{
if (Model == null) return null;
Model m = Model;
+ ApplyRedirections(m);
var mvstates = m.TryGetFunc("@MV_state");
if (MvInfo == null || mvstates == null)
|