[om] Binary relation angst

Fred Curtis fred at zip.com.au
Tue Feb 29 10:35:53 CET 2000

I'm marking up chunks of Sierpinski's "250 Problems in Elementary
Number Theory", and since the book only uses a tiny subset of
mathematical notation:
  * operations: +  -  /  *
  * relations:  =  <  <=  =>  > not-equal-to  divides  does-not-divide
  * functions:  gcd
  * domains:    integers  rationals
the thought occurred to me to use some form of content markup.

While reading up on MathML and OpenMath, I noticed:

  * Neither includes the divides or does-not-divide relations,
    which seems curious for something that can be explained
    easily to a seven-year-old who has learned "3 into 7 doesn't go"

  * MathML content currently defines relational operators like
    "<" as n-ary, allowing expression of phrases such as
    "0 < a < b  < c", but not [because it mixes operators]
    "0 <= a < b".

While open to abuse, stringing together binary relations with
the pattern
  e1 op1 e2 op2 e3 op3 ...,
as shorthand for
  e1 op1 e2  AND
  e2 op2 e3  AND
  e3 op3 ...
allows a lot of conciseness, e.g.:
  a + 3 = 9 < b
instead of
  a + 3 = 9, and 9 < b, so a + 3 < b

Things get more verbose if we group items with commas, e.g. :
  0 <= a, b < c, d < 10
in place of
  0 <= a AND
  a < c AND
  a < d AND
  0 <= b AND
  b < c AND
  b < d AND
  c < 10 AND
  d < 10

Both MathML and OpenMath currently define set membership as a binary
operation.  The textbook phrase "a, b, c MEMBER Z" must be expressed

So, apart from my sub-whine about the missing divides / does-not-divide,
my main whine seems to be "some simple ideas which may be concisely and
rigorously expressed in existing notation cannot be concisely expressed
in existing content markup systems."

-Fred Curtis.

om at openmath.org  -  general discussion on OpenMath
Post public announcements to om-announce at openmath.org
Automatic list maintenance software at majordomo at openmath.org
Mail om-owner at openmath.org for assistance with any problems

More information about the Om mailing list