A key property of finite state automata is that they are memoryless. This is formalised by the memorylessness lemma.
Definition
Memorylessness Lemma ^definition
Let be formulae. Then, for any FSA :
That is, either accepts both and or it rejects both. It cannot accept one and reject the other.
- is the concatenation operation
- is the state arrived by from after applying the extended transition function
The way to interpret the memorylessness lemma is that, in a FSA, once we get to some state, it does not matter how we got there. We could have taken a 1-state computation path, or a 1999-state computation path. To the FSA, all that matters is the remaining path we take.
Derivation
Prefix-Suffix Decomposition
Given a word, , we can split it into a prefix and suffix. , where and are sub-strings of .
The prefix or suffix can be the empty word
For example, the set of all prefix-suffix decompositions for the word ‘dog’ are given below:
That is, we can partition a string using a line, making the left side the prefix and the right side the suffix.
%%🖋 Edit in Excalidraw, and the dark exported image%%
In the context of feeding this string to an FSA, , we can use our newly-defined extended transition function to concisely state that:
For an example string Babel, decomposed into and we have:
In the context of state diagrams, this takes the computation path starting from and ending at , and splits that path into two sub-paths, corresponding to the prefix and suffix.
Final Lemma
Finally, we can combine all these tools to form the memorylessness lemma:
For some FSA, having extended transition function . For every prefix string, and , such that (that is, ) then for every suffix string , we have:
And either accepts both strings or rejects both strings.
Thus, we get: