(alias A=loc_1, alias B=loc_2);
proc ADD = (rec ADD: comm.
if @A=0 then skip else
B:=@B+1; A:=@A-1; call ADD fi)
in A:=2; B:=3; call ADD
=>
alias A=loc_1, alias B=loc_2,
proc ADD = (rec ADD: comm.
if @loc_1=0 then skip else
loc_2:=@loc_2+1; loc_1:=@loc_1-1;
call ADD fi)
in A:=2; B:=3; call ADD
=>
loc_1:=2; loc_2:=3;
(rec ADD: comm.
if @loc_1=0 then skip else
loc_2:=@loc_2+1; loc_1:=@loc_1-1;
call ADD fi)
=>
loc_1:=2; loc_2:=3;
if @loc_1=0 then skip else
loc_2:=@loc_2+1; loc_1:=@loc_1-1;
(rec ADD:
...fi) fi)