Chapter 6 Braille

One challenge for making logic work in Braille readers is that the symbols used in the standard version of forall𝓍 may not be recognized by a Braille reader even if it supports Nemeth code. Here are the symbols used by forall𝓍 again:

logical not ¬, logical or , logical and , the conditional , the biconditional , the contradiction symbol , the universal quantifier , the existential quantifier , equals =, therefore , single turnstile , double turnstile , negated single turnstile , negated double turnstile , box , diamond .

As far as I know, only logical or , conditional , the biconditional , and therefore are included in the Nemeth standard. A Braille-enabled forall𝓍 could simply use different symbols for the remaining symbols, e.g., for logical not ¬, & for logical and . E.g., the formula ¬A(BC) would instead produce A(B&C). There are conventional ASCII equivalents for all the symbols which are used by the Carnap online homework system to facilitate entering logical symbols, as well as other straightforward ways to approximate symbols:

  • logical not ¬: , ,

  • logical or : \/,

  • logical and : &, /\,

  • the conditional : ->, >

  • the biconditional : <->, <>

  • the contradiction symbol : _|_, !?

  • the universal quantifier : 𝐴, @

  • the existential quantifier : 𝐸, 3

  • the therefore symbol : :.

  • the proves single turnstile : |, |/

  • the entailment double turnstile : |=, |/=

  • the modal box : []

  • the diamond : <>

Formulas and symbols would then display like A->(B/\C)|=A->C. forall𝓍 could also be configured to replace all symbols with the corresponding text, e.g., notAor(BandC).

These solutions would require a separately compiled textbook but no change to the text itself; the macros used to generate the symbols would simply be redefined.

A possible alternate solution would be to make MathJax output the problematic symbols to Braille using the alternatives listed above, but to keep the standard symbols for display and screen reader. (MathJax provides Braille output separately from speech output.) This might require a patched version of MathJax and someone with Braille expertise to provide the transliterations of symbols into Unicode Braille strings.

Girard et al. advises to use Polish notation for users of Braille. In Polish notation, logical operators are replaced by letters, e.g., N for not (¬), C for conjunction (and ), D for disjunction (or ), I for if-then , and B for if-and-only-if . Symbols like sentence letters and predicates would be lowercase instead of uppercase. Instead of parentheses, operators are prefixed to their arguments. E.g., the formula ¬A(BC) would then appear as DNaCbc, i.e., the disjunction of not a with the conjunction of b and c.

Changing the format of formulas to Polish notation would require a separate Braille version of the text where all formulas are included in Polish notation, and somewhat extensive rewriting of the textbook (passages about formation rules for formulas, etc.).

Whether the table layout produced for natural deduction proofs (which should work with screen readers) is also suitable for Braille terminals remains to be determined.