I found a mistake on listing 6.6: Recursively calculating the Levenshtein distance.
The last term of the following expression test if last characters of the strings match:
lev(m1,n1) + (a[m1] == b[n1])
But, if the last characters of the strings don't match, the cost of them is 1. So, I think that correct expression is:
lev(m1,n1) + (a[m1] != b[n1])
