Correspondence
stack -> bag
%a(<
>) =
<< mk_set( items ), limit >>
where
mk_set(
\
%e
) = \0
mk_set( e \. s ) = mk_set(s) \uplus { e }
%r( push ) = put
,
%r( pop ) = get
%x(s.settop(i))
=
s.pop(); s.push(i);
slide
:
Behavioral subtypes -- correspondence