Isn't it some kind of forward substitution?