Program
x = new ctr; x.inc(); v = x.n
Transitions
<< x = new ctr, %f_1 >> \apijl{ctr_1} << %e, %f_1[ x := ctr_1 ]>>
[1]
<< n = n + 1, %f_2^{%a} >> -> <<%e, %f_2[%a.n = %a.n + 1]>>
[2]
<< x.inc(), %f_2 >>
\apijl{inc_{%a}
<< %e, %f_2[%f_2(x).n := %f_2(x).n ]>>
[2']
<< v = x.n, %f_3>> -> << %e, %f_3[v := %f_3(x).n] >>
[3]
Trace
%f \apijl{%l} %f'
with
%f = %f_1
,
%f' = %f_3
and
%l = ctr_1 \. inc_{ %a }
slide
:
Transitions -- example