sel(from(cX), sel(0, :(cX,cY))) = sel(:(cX, from(s(cX))), cX)
:(0,from(0)) = from(:(0,x))
:(x,s(from(from(0)))) = :(s(sel(z,from(z))),0)