Instead of defining an automa, you could use a builtin, and the search capability of Prolog.
append/3 establish a relation among 3 lists. Namely, the third list is the concatenation of the first two. This can be used to answer easily your assignment:
satisfy(L) :- append(_, [0,1|R], L), append(_, [1,0,0|_], R).
as you can see, append(_, PatternAndRest, L)
search the pattern in L and yields the Rest.
But you are probably required to write a recursive predicate that scan the list looking for pattern. I hope the syntax you can see in satisfy/1 will help you.