4 spec immutable type map;
9 eref eref_alloc(void) map m;
12 /* ensures newInd(result, m^, m'); */
15 void eref_free(eref er) map m;
17 /* requires er \in domain(m^); */
19 /* ensures m' = delete(m^, er); */
22 void eref_assign(eref er, employee e) map m;
24 /* requires er \in domain(m^); */
26 /* ensures m' = assign(m^, er, e); */
29 employee eref_get(eref er) map m;
31 /* requires er \in domain(m^); */
32 /* ensures result = m^[er]; */
35 bool eref_equal(eref er1, eref er2)
37 /* ensures result = (er1 = er2); */
40 void eref_initMod(void) map m;
43 /* ensures m' = new; */