The idea is to simulate all the configurations of "M", and to check if any configuration is accepting. This can be done in NSPACE of the same magnitude, but needs also a constant number of pointers and counters to keep track of the configurations. If no configuration is accepting, the simulating Turing machine accepts the input; thus it accepts if and only if M has no accepting path. This idea is elaborated in what follows for logarithmic NSPACE (NL); generalization to larger NSPACE is straightforward, but can also be proven by padding.