This is an old revision of the document!
Semantics of Dynamic Object Allocation
x = new()
Example program we wish we can prove:
x = new(); y = new(); assert (x != y);
Also:
assume (ALL n. (n : alloc --> next n != x)); y = new(); assume (ALL n. (n : alloc --> next n != x));
Solution:
We obtain formulas with sets, in FOL eliminate them using quantifiers as in Deciding a language of sets and relations.