The question says:

Design a sequence detector that searches for a series of binary inputs to satisfy

the pattern 01(0*)1, where (0*) is any number of consecutive zeroes. The

output (Z) should become true every time the sequence is found.

The answer to this example in the document I am reading is this:

My question is: After going from state ‘first’, the decision box checks X. If it is 0, then it does not fit the pattern 01(0*)1. So, it should go back to state ‘start’. In this answer, it goes back to state ‘first’ instead, and so a sequence that violates the pattern could eventually get accepted. Am I correct to think so? If not, why?

The question is tagged with finite automata because there is no ASM tag. The two are similar enough.