One more thing about the Elsewhere Condition in text-to-Braille conversion concerns disjunctive ordering. In B&W’s program, it seems that no letter ever undergoes more than one rule.
To quote from my previous post:
The Elsewhere Condition applies: rules with more-specific structural descriptions bleed those with less-specific SDs, as in the leather example, where !the! precedes !th!. Of course, if the ordering were the reverse (!th! then !the!), the system wouldnt appear to have !the! at all. B&W use identity rules to implement lexical exceptions. Similarly, exceptional sub-word strings, like shead (as in brideshead), whose sh fails to contract, is handled by a special shead → shead rule thats ordered before the regular !sh! rule.
In the case of the rule contracting ‘the’ vs. the rule contracting ‘th’, all that matters is that !the! apply first; whether !th! also tries to apply later is irrelevant to the outcome, since !th!’s structural description won’t be met.
But what about the case of identity rules like shead → shead ? It depends on whether we think the inputs and outputs are the same kind of thing (such as abstract entities not yet instantiated as either Roman letters or Braille characters). If they are, then it’s crucial that !shead! and !sh! (and all specific-general pairs of rules) be disjunctively ordered, so that once !shead! applies, !sh! can’t apply to the resulting string ‘shead’, even though !sh!’s structural description (‘sh’) is met.
But if we think of the inputs as Roman letters and the outputs as Braille characters (which I’ll symbolize with CAPITAL ROMAN LETTERS), then the “identity” rule really looks like ‘shead’ → ‘SHEAD’, and its output does not contain !sh!’s structural description. In that case it doesn’t matter whether the ordering of specific and general rules is disjunctive or conjunctive. In general, under that view, once a Roman letter has undergone one rule (and thus converted into a Braille character), it will never undergo another, since all rules take as their inputs Roman letters, not Braille characters.