Preliminaries 

fr > read AidaDmf; infolevel[dmf]:=2:
 

fr > with(Vessiot):with(diffalg):
 

fr > stair := proc(Section)    local L, U, m,l,u,i;    L := map(lhs, Section);    L := select(type, L, indexed);    m := max(op(map(convert, L, `+`)))+1;    U := convert(convert(map2(op, 0, L),set), list);    L := map(u-> select(q->op(0,q)=u,L), U);    L := map( l-> map(convert, l, list), L);  for i from 1 to nops(U) do          l := L[i]; u:=U[i];    print(plots[pointplot](l, symbol=diamond, symbolsize=30,                               labels=[x,y],axis=[gridlines=m+1],            view=[0 .. m,0 .. m],tickmarks=[m,m], title=u));    end do;end proc:
 

fr >