module objample2. import objone. type obj o. type dobj o. type st int -> o. type get o. new obj St Id || anti --> anti || object Id St Ms:- Ms = id \ (pi M \ pi V \ ((print "\n",write V,print "\n") >> call id get || frozen id (st V) M --> anti || object id (st V) M)). del dobj St Id Id1 || anti --> anti || object Id St Link:- Link = id \ (pi St \ pi Ms \ (anti || object Id1 St Ms --> ((Ms id) -o anti) || object Id1 St Ms)). initial anti. type kill Id -> o. type start o. start:- Mt = (id \ (pi S\ pi M \(kill id || frozen id S M --> anti || anti))), ehhfsolve (new obj anti 1 | extend 1 Mt). start:- ehhfsolve (new obj (st 2) 1 | del dobj (st 3) 2 1 | send 2 get).