An implication table finds every pair of equivalent states, including ones that simple row matching misses. It has one cell for each pair of states (a triangle, since A–B is the same pair as B–A).
The procedure:
- Outputs first. Cross out every pair with different outputs. They can never be equivalent.
- Write the implications. In each remaining cell, list the pairs of next states that must also be equivalent: for each input, (next of the first, next of the second). If they're the same state, nothing is needed.
- Propagate. Cross out any cell that lists a pair already crossed out. Repeat passes until nothing changes.
- Read off. Every cell left uncrossed is an equivalent pair.
Then merge the equivalent states, as in state minimization. The table works because two states are equivalent exactly when no chain of implications leads to a pair with different outputs.