While the inversion of a single bit due to channel noise can easily be detected
with a single parity check code, this code is not sufficiently powerful to
indicate which bit, or indeed bits, were inverted. Moreover, since any even number
of bit inversions produces a string satisfying the constraint (1.1), patterns of
even numbers of errors go undetected by this simple code. Detecting more than
a single bit error calls for increased redundancy in the form of additional parity
bits and more sophisticated codes contain multiple parity-check equations and
each codeword must satisfy every one of them.