Skip to content
BetterDL

Implication table

Also called: implication chart, pair chart

A triangular chart with one cell per pair of states, used to find all equivalent states by crossing out pairs that some input sequence can tell apart.

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:

  1. Outputs first. Cross out every pair with different outputs. They can never be equivalent.
  2. 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.
  3. Propagate. Cross out any cell that lists a pair already crossed out. Repeat passes until nothing changes.
  4. 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.

start01010101A0B0C0D1

Worked example

Example

The table for a 4-state machine

Use the Moore machine in the diagram: A(0): 0 → B, 1 → C. B(0): 0 → A, 1 → D. C(0): 0 → A, 1 → D. D(1): 0 → A, 1 → D. There are 6 pairs.

  1. 1.

    Outputs: D is the only state with output 1, so cross out A–D, B–D and C–D.

  2. 2.

    A–B: on 0 needs B–A, on 1 needs C–D. C–D is crossed out, so cross out A–B.

  3. 3.

    A–C: on 0 needs B–A, on 1 needs C–D. Cross it out the same way.

  4. 4.

    B–C: on 0 both go to A, on 1 both go to D. Nothing required, so it stays.

  5. 5.

    Result: B ≡ C, and nothing else. Merge them to get a 3-state machine.

Common mistakes

  • Skipping the output check and trying to reason about arrows first.

  • Stopping after one pass. A cross-out can trigger others that depended on it.

Practice Implication table

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Implication table is taught in Finite State Machines.