The use of adjacency is standard in DMV and enables us to have different P dmv stop for situations when no child was generated so far (adj = 1).
p dmv stop (c h , dir , adj = 1, c f ) decides whether the word c h has any children in the direction dir at all, whereas p dmv stop (h, dir , adj = 0, c f ) decides whether another child will be generated next to the already generated one.