If you’ve been reading very carefully you may have noticed that one of the ambiguities discussed previously has not been resolved, the one between inclusive and exclusive “or”. The perspective taken by the theory of formal systems is that this distinction is not part of the language itself but rather of its interpretation. The language is described by its grammar and determines which statements are to be regarded as grammatically correct and how those statements are to be parsed but does not specify any particular interpretation of the language. The distinction between inclusive and exclusive or isn’t needed for determining grammatical correctness or for parsing so it’s not part of the language.
Note that this is different from the way we normally talk about natural languages. We regard the interpretation as part of the language for natural languages. The terms linguists use are syntax and semantics. Syntax determines grammatical correctness and parsing while semantics gives meaning to statements which are grammatically correct. A formal language is pure syntax.
People often refer dismissively to “arguments about semantics”, which is odd since semantics is what gives meaning to statements.
In reality no one, except possibly as an example in a module like this one, would create a formal language without having an intended interpretation in mind though. One reason we make the distinction between language and interpretation is to allow the same language to have multiple interpretations.
The interpretation we’ll give to our model module enrollment language is that “and” and “not” mean what you expect them to mean and “or” is always to be interpreted inclusively. With this interpretation the remaining ambiguity we saw earlier, concerning precedence between “and”’s or between “or”’s is seen to be harmless, because “and” and “or” are associative operators. We’ll talk more about associativity when we discuss semigroups, monoids and groups later. Module names are interpreted as meaning that the student in question is taking that module.
Strictly speaking our language has multiple interpretations, one for each student. We’ll see more interesting examples later where it’s useful for a language to admit multiple interpretations. We’ll also see that this unavoidable for all but the simplest systems.
If the “or” in “Probability and Statistics or Algebra and Geometry” in a course handbook was intended exclusively then in our formal language we will therefore need to replace it with something like “Probability and Statistics and not Algebra and not Geometry or not Probability and not Statistics and Algebra and Geometry” in order to achieve the desired interpretation.