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

Richard Fateman fateman at cs.berkeley.edu
Tue Dec 12 22:36:48 CET 2000



Paul Libbrecht wrote:
> 
> On Tuesday, December 12, 2000, at 05:30 PM, Richard Fateman wrote:
> 
> > I could not parse the note from Paul Libbrecht, but 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.  Thus by carefully
> > specifying certain operations, one could exclude certain CAS
> > implementations entirely. Gor example a reasonable spec
> > for floating-point operations would either have to exclude
> > all arithmetic of Mathematica or all of Maple, since their
> > models are, I believe, incompatible.
> 
> But one could mention a precision context-variable which might make them compatible. Is it too stupid ??

No, they would still not be compatible.  Mathematica has
a system involving Accuracy and Precision, unique to itself.
Maple has another system.  The only reasonable way of
merging the two systems is to look at the setting of a variable
that specifies System=Mathematica4.0   or System=Maple6.0  etc.

> 
> Being exclusive on the implementations will be timed-bomb I believe
> (don't we want some implementations, at least of wrappers ?)
> 
> >   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?
> 
> It should be "semantically" correct.
> (this is what has to be defined and where OpenMath can reign)

The idea that there is only one correct semantics for Mathematics
is probably unsupportable.
Once you get beyond relatively elementary foundations (say
more advanced than an introduction to "Modern Algebra") you find
many choices possible.

> 
> > 1. CAS even disagree on whether x+1 or 1+x is simpler.
> 
> But not when used "as a polynomial".
Really?  Mathematica has no notion of "as a polynomial" and
it always uses 1+x.  Macsyma gives you a choice.  1+x is
a truncated power series. x+1 is normal.

> 
> > 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)).   Does my
> > program conform to the same openmath CD?
> 
> The good questions are starting.
> I hope it becomes possible that this ambiguity is covered by a simplification of some sort.

This kind of ambiguity is known to be undecidable, in general.
A good way to be sure of failing is to require systems
to do noncomputable things in order to conform.
> 
> > Note that derivative of C wrt x is 0 in any CAS. Therefore
> > it must be a constant, and one can always add a constant
> > to the result of indefinite integration, right?. But it is not.
> 
> This ambiguity is exactly what has to be specified by an "indefinite integration" operation.
> 

There is no way to do this short of writing a program to do indefinite
integration, and annointing it as the only true correct and
standard integration.
  integrate(sin(x)*cos(x),x) could be 1/2 sin^2(x) or -1/2 cos^2(x).
Do you want to specify that one is right and the other is
wrong?

> > Plot it.

> 
> Ah, come on, that's user related ;>>

I was just suggesting that the reader of this note who
was puzzled by the arctan example should try it out.
As for making openmath know about plotting, that would
probably be a very very good thing, and also rather
easy.  Just annoint some public domain program as
the plotting program. e.g. whatever xplot does
is the standard.


> 
> > 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.
> 
> I have the feeling some implementors are not too far away,
> that makes the view more valid.

It would be the case only if ALL the implementors were
agreeable. Otherwise it is merely standard-setting for
the purpose of enforcing a monopoly.
RJF
> 
> > 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.  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.
> Hopes...
> 
> Paul
> --
> 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
--
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