Example 1 - Race Free Assignment

$y_3y_2y_1/x_2x_1$ 00 01 11 10
000 (1) 3 6 (1) (1)
001 (2) (2) 3 1 (2)
011 (3) (3) (3) (3) 5
010 (4) 3 (4) (4) 1
110 (5) 2 (5) 6 (5)
111 (6) (6) (6) (6) 2

However, with this assignment, it’s impossible to make sure there are no races (for example, 1 → 3 or 6 changes multiple bits).

$y_3/y_2y_1$ 00 01 11 10
0 1 4 $\beta$ 3
1 $\alpha$ 6 5 2

Here, we introduce states $\alpha$ and $\beta$ (since we had 6/8 states). With this assignment, we can go from 1 → 6 via $\alpha$.

$y_3y_2y_1/x_2x_1$ 00 01 11 10
000 (1) 3 $\alpha$ (1) (1)
001 (4) $\beta$ (4) (4) 1
011 ($\beta$) 3 X X 5
010 (3) (3) (3) (3) $\beta$
110 (2) (2) 3 $\alpha$ (2)
111 (5) 2 (5) 6 (5)
101 (6) (6) (6) (6) $\alpha$
100 ($\alpha$) X 6 1 2

Example 2 - Toggle circuit

Input: $x$

Output: $a,\,b$

When $x=0$, $a,\,b = 0$

When $x$ goes 0 → 1, either $a$ or $b$ → 1 alternating

(Also known as a frequency divider)

Output
$q/x$ 0 1 0 1
A (A) B 00 -0
B C (B) -0 10
C (C) D 00 0-
D A (D) 0- 01

Example 3

Show:

$a\cdot ((a+b)+ c) = a$

$=a(a+b)+ ac$