In the D&R algorithm, the problem stems from the fact that DD are generated recursively: if when generating a DD for some entity The solution adopted by (Dale and Haddock, 1991) is to stipulate that facts from the knowledge base can only be used once within a given call to the algorithm.
the solution follows, in the present algorithm (as in SPUD), from its integration with surface realisation.