(0) Obligation:

Clauses:

member(H, .(H, L)).
member(X, .(H, L)) :- member(X, L).
turing(t(X, Y, Z), S, P, t(X, Y, Z)) :- member(p(S, Y, halt, W, D), P).
turing(t(X, Y, .(R, L)), S, P, T) :- ','(member(p(S, Y, S1, W, r), P), turing(t(.(W, X), R, L), S1, P, T)).
turing(t(X, Y, []), S, P, T) :- ','(member(p(S, Y, S1, W, r), P), turing(t(.(W, X), space, []), S1, P, T)).
turing(t(.(X, L), Y, R), S, P, T) :- ','(member(p(S, Y, S1, W, l), P), turing(t(L, X, .(W, R)), S1, P, T)).
turing(t([], Y, R), S, P, T) :- ','(member(p(S, Y, S1, W, l), P), turing(t([], space, .(W, R)), S1, P, T)).

Queries:

turing(g,g,g,a).