#
# A simple 2-tape DTM to check whether the two binary input
# words are the same.
# 
# (w) 2006, Michal Januszewski <spock@gentoo.org>

tapes = 2
alphabet = { 0, 1, # }
states = { yes, no, find, copy, ret1, ret2, comp }
istate = find
fstates = { yes, no }

tape_0 = 00110#00111

# Transition function

tf =
find    1	b	->	find	1	R	b	S
find	0	b	->	find	0	R	b	S
find	#	b	->	copy	#	R	b	S
copy	1	b	->	copy	1	R	1	R
copy	0	b	->	copy	0	R	0	R
copy	b	b	->	ret1	b	L	b	L
ret1	1	1	->	ret1	1	L	1	L
ret1	0	0	->	ret1	0	L	0	L
ret1	#	b	->	ret2	#	L	b	S
ret2	0	b	->	ret2	0	L	b	S
ret2	1	b	->	ret2	1	L	b	S
ret2	b	b	->	comp	b	R	b	R
comp	0	0	->	comp	0	R	0	R
comp	1	1	->	comp	1	R	1	R
comp	0	1	->	no		0	S	1	S
comp	1	0	->	no		1	S	0	S
comp	#	b	->	yes		#	S	b	S

