LARA

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.