> -----Original Message-----
> From: Robert Dodier [mailto:robert.dodier at gmail.com]
> Sent: Monday, June 16, 2008 7:26 PM
> To: fateman at EECS.Berkeley.EDU
> Cc: fred.wang at free.fr; maxima at math.utexas.edu
> Subject: Re: [Maxima] XML package and MathML
>
> On 6/16/08, Richard Fateman <fateman at cs.berkeley.edu> wrote:
>
> > My suggestion is to preface any of these by mathml or xml
> notations, e.g.
> > mathml_prime_numbers
> > or
> > %mathml_prime_numbers
> > or %MathML_PrimeNumbers
> >
> > and %MathML_Root ..
>
> This is needlessly clumsy. Stuff that looks the same in two
> different languages can mean different things. So what?
This is, in my view. absolutely the wrong approach.
If you can't get it right, perhaps it is excusable. But you CAN get it
right; you just are allowing it to be wrong.
'When I use a word,' Humpty Dumpty said, in a rather scornful tone,' it
means just what I choose it to mean, neither more nor less.'
'The question is,' said Alice, 'whether you can make words mean so many
different things.'
see
http://www.sundials.org/about/humpty.htm
>
> If you asked me to translate x=sin(1) from Fortran to Maxima,
> would you be happy if I wrote
>
> fortran_assignment(fortran_symbol('x),
> fortran_sin(fortran_integer(1));
>
YES. ABSOLUTELY.
1. It may be the case that on a 32-bit computer,
fortran_integer(2147483647)+fortran_integer(1) = fortran_integer(-1).
This is not true in Maxima's arithmetic. So they must be kept at arm's
length.
If you don't encode the meaning of fortran_integer(1) in such a way that
Maxima can understand it properly, you are not going to be able to use
Maxima to (say) prove the correctness of fortran programs. Or even to
duplicate the computation of the fortran program.
Additionally,
2. the scoping rules for fortran_assignment would be different from
Maxima's.
3. FORTRAN's sin function is also different, e.g. sin(symbolq+%pi) means
something to Maxima.
The relative success of using MathML for 2-d math typesetting does NOT in
any way mean that the reverse is obvious, or just a matter of picking names
that are "close" out of a hat.
> ??
>
> > To say that these two concepts are "the same" is
> problematical if you are
> > doing any serious with MathML.
>
> It's not necessary to establish an exact equivalence in order to
> get some useful work done.
The amount of useful work that can be done correctly using mathml as input
does not even include arithmetic, as illustrated above with
fortran_integer().
>
> Above all, there is not an exact equivalence between Maxima and
> stuff I write on a piece of paper, and yet somehow I can get some
> useful results. Substitute "in XML" for "on a piece of paper" and
> we're back to the situation with MathML.
If you write a program on a piece of paper using different semantics from
the computer programming language, you can also get some useful results.
For example you could write 2+2 when you meant 2*2. And that's perfectly
useful because the semantics happen to coincide. sometimes. So I guess you
are OK with that? :)
The point of arithmetizing mathematics (that is, converting everything to
computing) is that the computation will mirror the same meaning, in some
logical and constructive sense, as the mathematics.
There is a substantial activity using the initials MKM
see
http://events.cs.bham.ac.uk/cicm08/mkm08/
Note that in the program they refer explicitly to MathML, OpenMath, and
other mathematical content standards.
They care. I suggest Mr. Wang study the actual needs of such people, who
might actually want to communicate with Maxima, but semantically correctly.
RJF