NB The normalisation algorithm is of order O(n4) in time. Large tables can take a very long time to normalise, and this can require a large quantity of memory. This constraint-propagation algorithm, on the other hand, is of order O(n2) in time, so quite large tables can be filled in a reasonable time.
There are some corrections to this algorithm as published in the book. See the errata.