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. next n != x); y = new(); assert (ALL n. next n != x);
Solution:
We obtain formulas with sets, in FOL eliminate them using quantifiers as in Deciding a language of sets and relations.