[om] Reference vs. Referent: solution to an old problem

Andrew Solomon andrew at illywhacker.net
Wed Dec 13 15:09:02 CET 2000


hi Richard, Manfred, Paul and others,

Since I started this discussion, I think I should make my own position
a bit clearer. 

I was hoping to have read Richard's "symbolic mathematics system evaluators"
carefully before entering the discussion again, and I haven't. 
However, I'll give a thumbnail sketch of where I'm at, and hope it has a 
chance of causing less contention!

1. I don't hope to construct a computer algebra system for all mathematics
or even a specification for one. I know that each computer algebra
system has its own motivations and that for self consistent reasons
it will define some mathematical operations differently to another CAS.

2. I believe that in the future, people will continue to do most of their 
computing in the specific CAS which is oriented toward their interests.

3. I don't think that an OM CAS CD should place any constraints on
computer algebra systems as such. Computer algebra systems should be permitted
to continue doing as they do.

4. I do see a network of microservers with traditional CASs as possible clients:
Suppose we have an algorithm which computes function f:A->B, and it hasn't been coded yet.
The first thing you do will be to write it in the native code of the most appropriate
CAS, say Maypole. Then when you're working in another CAS and you need the algorithm, what do you do?
Code it again? and possibly a whole lot of other guff which the first system gave you
for free? Of course not. OpenMath is about doing it smarter.
Rather, create a server running on the "OpenMath port" which is advertised in a centralized 
or distributed OpenMath database as computing f:A->B. This "microserver" does just that one
task and does it in a way which is defined precisely by the OpenMath symbol for f.
The symbol for "f" should be written with as much mathematical good will as possible, and without
any particular leaning towards Maypole. This means that while the microserver does
computations with Maypole in the background, it might also do further processing on the
result in order to obtain a mathematically clean object, perhaps even using other
CAS for further processing. Then any other internet/OM enabled
software can contact this microserver to have this computation done.
[I just got an email from Paul, using the word "wrapper" - this
certainly captures an aspect of what I'm getting at with "microserver".]


5. I recognize that there isn't necessarily a canonical choice for defining the "referent"
for a CD symbol, however I hope that 
a) the set of symbols which would become microservers isn't dense in the set of all symbols;
b) with enough give and take, we could agree on a referent for each symbol and agree that the
ones we can't agree about should be different symbols.

I hope a result of this will be a bit of standard behaviour (which is the power behind the 
networked world, after all). Remember, I'm not proposing a standard across all mathematics, just a 
symbol here and there as we need it. Ultimately it will be the people who write the microservers
who decide what that semantics is.


Richard Fateman wrote:
> 
> the point as
> taken up by Manfred Riem suggests that the OpenMath CD is going
> to include a specification of all algorithms, and that CAS
> are free to either implement them or not.

I hope it's clear now that isn't where I was heading.


> If the CD requires that the results of integration be
> cognizant of special values (e.g. to avoid dividing by
> zero or computing log(0).) then certain CAS would have
> to be avoided, too.

If guess this problem goes away when you stop thinking of 
existing CASs as the servers.

> 
> Maybe OpenMath is going to take up the mantle of the QED
> project,

I hope not.


> For Openmath,
> it would in any case be far more honest to approach
> the problem by saying you intend to build a computer
> algebra system that knows all mathematics, than
> to say you will simply specify what such an ideal
> system would do without facing any of the real-life
> decisions.  

I shun both of these alternatives.

> At the risk of repetition, take the
> question of what to do when someone utters 1/0.  You
> could say, as mathematicians sometimes do "Oh, that
> is forbidden". Computationally speaking, that is
> moronic.  You cannot forbid someone from typing that.
> A computational answer may be "In case someone utters
> that, we cut off all connections, stop all computations,
> issue an error message and dump 'core'."  This too
> is a bad result.
>   Since people who have better ideas than either of
> these do not always agree, what is the role of OpenMath,
> to state what is correct?

I hope that it won't be necessary to write a microserver
for rational arithmetic, but if it is, then I hope the people who
write it, together with the rest of the OM community can 
agree on a behaviour, acknowledging that there's no canonical answer but
realizing that if we can agree on a *standard* answer, we'll all be better off.

> 
> Here are 2 other items (again, repeating):
> 
> 1. CAS even disagree on whether x+1 or 1+x is simpler.

Again, let's find a standard, or better still - can't we just say they're the same?

> 
> 2. For fun, assume that my indefinite integration program
> always returns the same as yours, except that I add to
> the result  C=(arctan(x)+arctan(1/x)). 

Is this really likely? I suspect this is a mischeivous example.

> 
> Perhaps there is a role for Openmath in defining (say)
> interfaces to engines that add and subtract polynomials
> and rational functions (over arbitrary precision
> integers, finite fields, rational numbers).  But if you
> think that everything else just follows perhaps
> as a proof by some kind of induction, this is unlikely.

I agree, but I'm not shooting at "everything else".
Perhaps I gave the wrong impression before when I said 
the "referent" of a symbol should be clear from it's
CD definition. Let me be more cautions and say:
take it one step at a time and define referents as we need them. 

> I also think it is unreasonable to
> expect that some small group of essentially
> self-appointed standardizers will be able to
> dictate an abstract specification to which
> programmers must comply.

As we all know, the most successful standardizers are
the programmers:)

> 
> If I wanted to actually do a computation, I
> would undoubted choose
> the most appropriate single
> ONE computer algebra system X
> for nearly all the computations.  

Agreed.

> If I decided
> I needed another facility only  in some other computer
> algebra system Y, I would have to study that
> computer algebra system carefully, and see
> if the facility was what I wanted.  Studying
> the OpenMath CD would probably not be helpful,
> according to what I've just read here.

I hope we can make it helpful.

Kind regards,

Andrew

-- 
PIMS/MITACS/CECM                       http://www.cecm.sfu.ca
Simon Fraser University
Personal homepage:                     http://www.illywhacker.net

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