The Dongola Times

(Anachronistic) Dispatches from the Kingdom of Makuria.
17th of August, 2013

Ambiguity-Resolution Theorem

There is this theorem that I just proved in a reasonably-rigourous way:

For every optional element allowed in a syntax, there is a set of data constants in the parser to resolve the resultant ambiguity.

That is to say, if the syntax could be “Come!” or “Come here!” with the “here” being optional, the parser—be it the human who is understanding the sentence, or a computer program that to understand the sentence—must have a set of elements that may be placed in that sentence, such that the internal representation is inevitably equivalent to “Come here!”

Corollary:
An optional argument always results in IO or in the use of a constant. (Constants are just static, ahead-of-time IO.)

Corollary:
Configuration is the optional argument.