system implementation sys.impl
    parameters
        A0: set of indices;

    subcomponents
        s: single;
        d: single;
        a0: set indexed by A0;

    connections
        s -> a0[0];
        a0[-1] -> d;

        a0[x] -> a0[y] if x < y for x in A0, y in A0;


    reconfigurations
        exists(x not in A0, next(A0) = add(A0, x));
        exists(x in A0, next(A0) = remove(A0, x));

end sys.impl;
