ClemsonRSRG / RESOLVE

RESOLVE (REusable SOftware Language with VErification) is a specification and programming language designed for verifying correctness of object oriented programs.
https://www.cs.clemson.edu/resolve/
BSD 3-Clause "New" or "Revised" License
24 stars 16 forks source link

Bad Substitution #328

Closed yushan87 closed 6 years ago

yushan87 commented 6 years ago

Things are crazier when we have #A(i) that needs to be replaced with something else. See the following badly substituted Assume statement that originated from generating VCs for Array_Realiz.

Assume ((E' = #A(i)) and (S.Contents' = lambda (j : Z).( E     if ([Universal] j = S.Top) 
                                                        #A([Universal] j)     otherwise)));

Those #A(i) should have been substituted with S.Contents