[om] Re: ref
Arjeh Cohen
amc at win.tue.nl
Thu Jan 18 09:53:02 CET 2001
Dear Andrew
1) The refereeeing request came,
so please send me all (positive) material I can use for a letter
on you.
2) Below is my personal reaction to Richard Fateman (since he asked...)
Greetings, Arjeh
Dear Richard, Eindhoven 15 March 2001
Last Friday you asked for a personal reaction to your "A Critique of
OpenMath, December 2000". Although I am flooded with all sorts jobs
(most of them teaching) resulting from a half year sabbatical absence,
I will try. But please forgive me for hasty formulations. If they
lead to unclarity, please let me know and I will try to improve
... time allowing.
2nd paragraph: starts with more of a literary attempt characterizing
the SIGSAM Bulleting (which I haven't seen yet in its final form; nor,
by the way, have I read the preprints, which seem to be in an office
next door to mine). I can imagine that the gist is right: OpenMath to
me also seems to be sometimes more like an idea than a collection of
readily available tools. But this remark comes to the heart of your
remarks, and elaboration is better saved till the end. The paragraph
ends with core criticism: "The defect in the OpenMath concept is the
implicit assumption that software is generally re-usable." Well
"generally" may be stretching it too far. Also, it is never ever meant
that, say, a Mathematica program should be made to run in Maple or
GAP. Rather, the "re-usability" is in the use of OpenMath language
itself. And there, indeed, we are optimistic. My personal bias: not
just by rewriting Computer Algebra stuff, but by looking very closely
at what Logic has to offer.
The ambitious logic goal of formulating Mathematics correctly and
(machine) understandibly has been largely successful. Still the proof
checking programs look outlandish to `real mathematicians', but
essentially they have solved the re-usability problem (or, a
rephrasing I like better, the problem of unambiguously expressing
mathematical meaning and functions to be computed). Let me be so
immodest as to refer you to the paper with Henk Barendregt that is the
written version of our address at the latest ISSAC, where we expound
on this: http://www.win.tue.nl/~amc/pub/bc.ps. OpenMath has a
structure that caters all that is needed to work in the Logician's
way. The fact that COQ (and its language) can be fluently and
naturally interfaced with OpenMath is an indication of the success.
By the way, I was anxious to read your criticism of my paper with Olga
Caprotti. I could only find a reference to it in the last paragraph
where you more or less put down the interest of interfacing COQ and
GAP because these packages are "tightly constrained". I agree that an
interface with Mathematica would be more convincing to a larger
mathematical audience. But it would address a different item and
involve an interpretation of certain aspects of Mathematica. What we
have is a Phrasebook for Mathematica (in crooked form; I have been
trying for more than a year to get a good student working on
improvements) that understands the Core and MathML CDs. In general
however, the Phrasebook writer will have to make a lot of
interpretation choices.
Still, abiding with a reply to the critique in your 2nd paragraph, I
foresee mathematics being communicated heavily over the internet with
intelligent agents, which need to be chewing on well-defined
mathematics, rather than the limited stuff coming out of the average
computer algebra package. I contend that OpenMath can cater for this,
based on the careful choice of standards with full awareness of logic
foundations. In that sense, re-usability can be put into effect.
Your 3rd paragraph then argues that the examples ar all so trivial
they could be achieved easily in any object oriented language. Sure,
to begin this remark itself is a triviality: any byte string or
expresssion tree can be encoded in any object oriented language. The
power of OpenMath is on one hand the simplicity of the expression
trees and the flexibility to mould All Mathematics (including theorem
statements, proofs and algorithms) into them, and on the other hand
the use of CDs as the simple way of making sure `we all know what we
are talking about'. Certainly, OpenMath is not even a programming
language, but I am not the only one who would very much like to see
CDs for simple programming languages so that indeed we can come closer
to the re-usability of OpenMath. We have given it a try already;
another European project has been formulating precisely this goal.
Let me jump to your 5th paragraph, where you say that "the [OpenMath]
``applications'' illustrated are not solving problems that cause any
difficulties without OpenMath." Alas, this is very close to the truth.
I could think of some exceptions (Andrew Solomon's use of polynomials
and Character Tables by blending GAP and Maple, COQ verifying
primality on the basis of GAP precooked data) where the user has a
much cleaner interface than when an individual programming
mathematician would have tinkered with the two packages involved.
I fail to understand why you conclude that the brokerage role of
OpenMath has been set aside. The central language of communication is
OpenMath. Perhaps you are poking fun at one of the contributions
weird formulations and I should read the relevant contribution to the
SIGSAM Bulletin before commenting, but the conclusion that the "n-th
program must have in its phrasebook a way of understanding the meaning
of Y to program X[1],...." is completely erroneous: Y lives in a world
defined solely by the CDs referred to from within Y. No phrasebook
ever is involved in it. Sending Y to program X[i] from X[j] may
result in another OpenMath object Z coming back to X[j]. The
interpretation of Z as an answer to Y by X[i] is again up to X[j]. An
objective bystander might be able to tell you what is going on,
depending on how rigid/loose the choice of CDs connect to the
semantics. This is again a choice of the manufacturers of Y and Z:
they have agreed to use a certain set of CDs.
In the 6th paragraph you address the difficulty for a single program
to dress up the output to a proper OpenMath object. Indeed, if I
interpret your words well, this is a problem that we have across as
well. In the query/answer exchanges between applications, we are
working with a mechanism that will enable the application to determine
the type of answer. For instance: in GAP a matrix is hardly more than
a list of lists. So, if we expect a matrix back from a query, the
routine handling this in GAP should know to map the list of lists onto
an OpenMath object representing a matrix. More generally, indeed all
other way of expressing mathematics (like TeX) are
insufficient. Richard Timnoney has written a little TeX to OpenMath
converter making guesses as to what OpenMath objects might have been
meant in TeX. Clearly, this can never be fully automated: providing
the missing information is a worry, probably not unknown to people
studing software re-use.
I have reached your 7-th paragraph, your text has 16 paragraphs and
have already spent an hour writing! I have to wrap this up quickly,
and get back to it some later time, probably after you've shown
interest in my writing...
7-th para: the GR editors used (to the best of my knowledge) no OM
because the state of the OM art at the time they started was lousy.
Your ad hoc TILU interfacing should have gotten more attention?
Perhaps, especially in view of the general scope of OpenMath and your
16-th paragraph, we might turn that around: why don't you show how
easy it is to translate back and forth to OM?
8-th para: a repeat of the criticism in para 5.
9-11th para: XML allows us a multiple choice of presentations. I
don't think the OM issue is anywhere overshadowed by the merits of
Kajler et al. It seems like you first argue that, contrary to what OM
contends, presentation is an OM issue and then attack it. Looks a bit
artifical. Again, maybe I should read the contributions first...
In para 12 you are suppressing the interactive aspects. By displaying
OM expressions in Mozilla by use of XML stylesheet we come close to
TeX beauty; admittedly, we do not surpass it, but, and this is what it is
all about, we can edit the expressions; by clicking a subexpression,
we have the actual OM object at our disposal, so we can interact
further in very user-friendly ways with programs and applications.
para 13: the lack of OM software/applications is a concern, very very
true. But stating that there are no widely available applications at
all might be overdoing it: try Cathode (Berthe et al.), JavaMath
(Solomon et al.), Webpearls (Gonnet et al.).
para 14: I think the point is that with MathLink we can turn Mathematica
into an agent talking OpenMath with respect to a fixed set of CD's
without having to interfere with Mathematica internally.
By tinkering with the Phrasebook external to Mathematica we can extend the
number of CD's understood.
para 16: the core of the paper. Yes, indeed, I could not agree more:
projects like the one you describe should be carried out. My personal
feeling is that talented people have stayed away from the actual work
because it is not interesting. If on a commercial or down to earth
level some very useful applications are to come about, the ideas of
OpenMath will be more convincing. I want to be busy exactly as you
describe, albeit that I am working on an interactive book in algebra.
Well, this is all I can muster in terms of a reaction. Hope it helps.
Best wishes, Arjeh M. Cohen
--
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