I think they prefer to stay GAP-only. They have used code in other languages before, but this seems far outside its usual realm. They still might like to know about it, it's always good to have options.
I don't think it helps testing. It avoids just encoding the subset as number-as-bitset, but maybe that isn't a bad thing. I guess doing that helps less than I first thought.
@Anush What I would call "the subset construction" always has 2^n states, and is fast to compute wrt the size of the output. I guess you want the reachable part of it, or maybe any DFA that accepts the same language? In the first case, you can check correctness as suggested by @Bubbler. Also worth considering: are the states required to be numbers? Consecutive ones?
In other word: the automaton has read more of the left string than the first machine or the pseudocode algorithm would have read from it, so what was read too early is memorized in the state
About L_{c,w}, c is the current edit distance of the right word read so far, and the left word without the letters of w. It corresponds to a situation when the left reading head is behind the right one. It's exactly the same c as in the pseudocode
I'm not sure what your question is. But note that head has two meanings here: head of a list: first element. And the reading head of a machine that operates with tapes.
@Anush Checking that automata accept the same language is possible. I wonder if there would be any interesting answers that don't just call a library, especially if you make it a fastest-code challenge
@Anush I don't know what more to say than I did in my math.SE answer (except there is a bug in the pseudocode). NFA to DFA conversion is not needed for understanding the NFA.