My question concerns using the Pumping Lemma for Regular Languages to prove that the longest string in a finite language MUST be less than the number of states in a DFA recognizing the language. I was hoping to find an algebraic argument for this, but it seems the proof must rely on the Pigeonhole Principle. If p = the number of states in a DFA that recognizes the finite language, by the Pigeonhole Principle the longest string must be of size equal to p-1 (in other words, every pigeonhole must have a pigeon in it. Because the string is finite, there can be no pigeonhole with more than one pigeon in it).
If the length of the longest string in the finite language is less than p-1, the longest string is not guaranteed to reach an accept state. If the length is greater than p-1, the computation must "die" before the string is fully processed, thereby not being accepted by the DFA.
Is the above a valid argument for proving that the length of the longest string in a finite language must be less than or equal to the number of states?