Download PDFOpen PDF in browserWhat Does This Notation Mean Anyway? BNFstyle notation as it is actually usedEasyChair Preprint 38025 pages•Date: July 26, 2018AbstractFollowing the introduction of BNF notation by Backus for the Algol 60 report and subsequent notational variants, a metalanguage involving formal “grammars” has developed for discussing structured objects in Computer Science and Mathematical Logic. We refer to this offspring of BNF as MathBNF or MBNF, to the original BNF and its notational variants just as BNF, and to aspects common to both as BNFstyle. MBNF is sometimes called abstract syntax, but we avoid that name because MBNF is in fact a concrete form and has a more abstract form. What all BNFstyle notations share is the use of production rules roughly of this form: ◯ ⩴ □₁  ⋯  □ₙ Normally, such a rule says “every instance of □ᵢ for i ∈ {1, ..., n} is also an instance of ◯”. MBNF is distinct from BNF in the entities and operations it allows. Instead of strings, MBNF builds arrangements of symbols that we call mathtext. Sometimes “syntax” is defined by interleaving MBNF production rules and other mathematical definitions that can contain chunks of mathtext. There is no clear definition of MBNF. Readers do not have a document which tells them how MBNF is to be read and must learn MBNF through a process of cultural initiation. To the extent that MBNF is defined, it is largely through examples scattered throughout the literature. This paper gives MBNF examples illustrating some of the differences between MBNF and BNF. We propose a definition of syntactic math text (SMT) which handles many (but far from all) uses of mathtext and MBNF in the wild. We aim to balance the goal of being accessible and not requiring too much prerequisite knowledge with the conflicting goal of providing a rich mathematical structure that already supports many uses and has possibilities to be extended to support more challenging cases. Keyphrases: abstract syntax, formal definition, notation, set theory
