It’s possible for one language, with its intended interpretation, to be more expressive than another language, also with its intended interpretation, in the sense that any meaning which can be conveyed with the second can be conveyed by the first, but not vice versa. If we, for example, dropped the logical operator “not” from our language above we would obtain a less expressive language because there would be some module selection rules we simply couldn’t express.
On the other hand sometimes one language is larger than another without being more expressive. The language described above has parentheses, for example, but would be equally expressive without them. We’ve already seen an example above of replacing a statement with parentheses with one without parentheses which has the same interpretation and this can in fact be done to any statement. Similarly our language doesn’t have an exclusive “or” but we could add one, denoted for example by “xor”, without any gain in expressiveness. We’ve already seen an example of converting a statement with an exclusive “or” to one without any and this also can be done in general. A further possible addition to our language would be an “implies” operator. The statement “Statistics implies Probability” would mean that if a student is taking Statistics they are then also taking Probability, i.e. that Probability is a prerequisite or corequisite of Statistics. This also gives no gain in expressiveness. An equivalent statement without “implies” is “not Statistics or Probability”. If this looks wrong then you may need to remind yourself of our precedence rules. Since “not” is higher precedence than “or” the statement will be parsed as “(not Statistics) or Probability” rather than “not (Statistics or Probability)”.
Is it worth adding language features which don’t make a language more expressive? It often is, although such features are referred to dismissively as “syntactic sugar” by some authors. The equivalent versions of statements without the feature are often longer or harder to read than the versions with them, as we’ve seen. But there’s a trade-off here. Adding language features may make it easier to craft a statement with your desired interpretation but it will make your language harder to parse and will also make it harder to reason about the language.