We strictly enforced equality in length, i.e. , but specifies .
Given that types of brackets aren’t enough, we increase to and choose :
We then choose :
To evaluate , we must ensure that the sequence of closing brackets is the exact structural mirror of the opening brackets. Let denote the string reversal of , and let denote a character mapping where and .
Problem: We still strictly enforce rather than .
To solve the inequality , we must distinguish between two structural roles for the characters in our prefix :
Counted characters: These generate a corresponding in the suffix.
Extra characters: These do not generate a (they map to under ).
Since our prefix alphabet is , every character generated in requires two independent choices: its letter ( or ) and its structural role (counted or extra). This results in distinct states:
Counted
Counted
Extra
Extra
A string homomorphism is strictly deterministic; one bracket type can only map to one specific output. If we choose , the Dyck language only provides distinct pairs of brackets. By the pigeonhole principle, we cannot map independent states to bracket pairs.
If we try , we are forced to sacrifice a combination (e.g., we could generate extra ‘s, but not extra ‘s). Therefore, fails, and we must increase the dimension to .
We then construct mapping all opening brackets to our prefix alphabet, and erasing the closing brackets of the “extra” characters:
Therefore, let be an arbitrary sequence of opening brackets, be its reversal, and be the mapping to closing counterparts:
For every word evaluated by , the prefix generates characters of and . The suffix generates exactly characters of (where is the number of counted brackets) and empty strings.
Since is always structurally guaranteed, this perfectly yields