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. (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.