Let Σ2 = {[0; 0], [0; 1], [1; 0], [1; 1]}
C = { w ∈ Σ2* | the bottom row of w is 3 times the top row }
If you multiply a number by 3, you add the number to itself left-shifted by 1 bit. For example
Using the above idea, we can make a machine for the reverse of the language. There are now 2 things to remember: the previous symbol and any carry from the previous column. There are 4 states:
previous symbol carry
s00 0 0
s01 0 1
s10 1 0
s11 1 1
C = { w ∈ Σ2* | the bottom row of w is 3 times the top row }
If you multiply a number by 3, you add the number to itself left-shifted by 1 bit. For example
1011
* 11
----
1011
10110
-----
100001
Using the above idea, we can make a machine for the reverse of the language. There are now 2 things to remember: the previous symbol and any carry from the previous column. There are 4 states:
previous symbol carry
s00 0 0
s01 0 1
s10 1 0
s11 1 1

