Вот формула:
m(a,b) = if a==b then 0 else 1
Строка с "min" - это сама рекурсивная формула, остальные - нерекурсивные случаи, к которым приводит рекурсия.
Ваша строка использует "кэширование" результатов в массиве. Попробуйте посмотреть на это так:
d(i, j) = Minimum (d(i-1, j)+1, d(i, j-1)+1, d(i-1, j-1) + cost);
cost
равен m(a,b)
, и равен нулю, если a==b
, и одному в другом случае