# [om] Binary relation angst

Mike Dewar miked at nag.co.uk
Tue Feb 29 13:11:07 CET 2000

```Dear Fred,

> 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"
A crucial difference between content MathML and OpenMath is that OpenMath
is easily extensible whereas MathML is not.  This means that you could
create OpenMath symbols for the concept "divides" yourself if you wish.
It is possible to say that "3 into 7 doesn't go" using the current set of
OpenMath CDs available from http://www.nag.co.uk/Projects/openmath by
saying "7 rem 3 is not equal to zero", but this may not be exactly what
you want.

>   * 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
>   a + 3 = 9, and 9 < b, so a + 3 < b
I don't think that conciseness was ever a design goal of MathML (or XML for
that matter) :-)  The problem with what you propose is that there are no
infix operators in XML, and while we could introduce a new kind of apply
which took pairs of operators and (lists of) arguments to provide the sort
of functionality you suggest it would be ugly and would clutter up the
language.

A better solution to this is to have tools which accept a fairly natural
input syntax (e.g. TeX or Maple) and write out the corresponding OpenMath.
Various such tools are under development for both OpenMath and MathML.

> Both MathML and OpenMath currently define set membership as a binary
> operation.  The textbook phrase "a, b, c MEMBER Z" must be expressed
> as "a MEMBER Z  AND  b MEMBER Z  AND  c MEMBER Z"
This topic came up in another context the other day, and it is possible that
we will address it in future CDs.  The main question is really to what
extent an XML-based language (which OpenMath is de facto) should make life
easy for human readers/writers, versus automated tools.

> 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."
As I said earlier, all these concepts can be expressed in OpenMath, albeit
not necessarily as concisely as you would wish.  One of the main design
principles of the language is that it is extensible by a user.

Regards,
Mike Dewar
--
---------------------------------------------------------------------------

Mike Dewar                             email: miked at nag.co.uk
Group Leader                           phone: (+44) 1865 511245
Computational Mathematics Group        fax:   (+44) 1865 311205
NAG Ltd, Wilkinson House, Jordan Hill Rd, Oxford, OX2 8DR

---------------------------------------------------------------------------
--
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

```