D0(y) <- ((PM(y) & HP(y-1)) + HP(y-1)) ^ HP(y-1) | PM(y) | HN(y-1)
VP(y) <- HN(y-1) | ~(D0(y) | HP(y-1))
VN(y) <- D0(y) & HP(y-1)
HP(y) <- (VN(y) << 1) | ~(D0(y) | ((VP(y) << 1) | 1))
HN(y) <- D0(y) & ((VP(y) << 1) | 1)
PM(x,y)==1 の時は D0(x,y) は問答無用で 1 なので、この項は D0 に関係ない
PM(x-1,y)==0 の時は、この項は単に HP(y-1)^HP(y-1)==0 なので、この項は D0 に関係ない
PM(x-1,y)==1 でかつ、 HP(x-1,y-1)==1 の時というのは、 VN(x-1,y)==1 の時、つまり (x-1,y-1)=>(x-1,y) の遷移で1減るケース。この場合はさっきの右に遷移して1減るケースの逆で、これも D0(x,y) は0にならないといけない
", " | ", " | o", " | r", " | e", " | h", " | a", " | m", " | o", " | u", " | t", " | u", " | k", " | a", " | r", " | e", " | t", " | a"] |
", " | 0", " | 1", " | 2", " | 3", " | 4", " | 5", " | 6", " | 7", " | 8", " | 9", " | 10", " | 11", " | 12", " | 13", " | 14", " | 15", " | 16"] |
b", " | 1", " | 1", " | 2", " | 3", " | 4", " | 5", " | 6", " | 7", " | 8", " | 9", " | 10", " | 11", " | 12", " | 13", " | 14", " | 15", " | 16"] |
o", " | 2", " | 1", " | 2", " | 3", " | 4", " | 5", " | 6", " | 6", " | 7", " | 8", " | 9", " | 10", " | 11", " | 12", " | 13", " | 14", " | 15"] |
k", " | 3", " | 2", " | 2", " | 3", " | 4", " | 5", " | 6", " | 7", " | 7", " | 8", " | 9", " | 9", " | 10", " | 11", " | 12", " | 13", " | 14"] |
u", " | 4", " | 3", " | 3", " | 3", " | 4", " | 5", " | 6", " | 7", " | 7", " | 8", " | 8", " | 9", " | 10", " | 11", " | 12", " | 13", " | 14"] |
m", " | 5", " | 4", " | 4", " | 4", " | 4", " | 5", " | 5", " | 6", " | 7", " | 8", " | 9", " | 9", " | 10", " | 11", " | 12", " | 13", " | 14"] |
o", " | 6", " | 5", " | 5", " | 5", " | 5", " | 5", " | 6", " | 5", " | 6", " | 7", " | 8", " | 9", " | 10", " | 11", " | 12", " | 13", " | 14"] |
u", " | 7", " | 6", " | 6", " | 6", " | 6", " | 6", " | 6", " | 6", " | 5", " | 6", " | 7", " | 8", " | 9", " | 10", " | 11", " | 12", " | 13"] |
d", " | 8", " | 7", " | 7", " | 7", " | 7", " | 7", " | 7", " | 7", " | 6", " | 6", " | 7", " | 8", " | 9", " | 10", " | 11", " | 12", " | 13"] |
a", " | 9", " | 8", " | 8", " | 8", " | 8", " | 7", " | 8", " | 8", " | 7", " | 7", " | 7", " | 8", " | 8", " | 9", " | 10", " | 11", " | 12"] |
m", " | 10", " | 9", " | 9", " | 9", " | 9", " | 8", " | 7", " | 8", " | 8", " | 8", " | 8", " | 8", " | 9", " | 9", " | 10", " | 11", " | 12"] |
e", " | 11", " | 10", " | 10", " | 09", " | 10", " | 09", " | 08", " | 08", " | 09", " | 09", " | 09", " | 09", " | 09", " | 10", " | 09", " | 10", " | 11"] |