[Prev][Next][Index][Thread]

Re: semantics



Its approaching two in the morning I need to get up early to start my
vacation, but I felt I should add my two cents.  Hopefully, everyone
will be in agreement when I get back, the standard will be implemented
and accepted, and all will be well in the world.  Oh yes, I hope it
won't rain on me during my pacific northwest bike trip.

The key point I want to make is that semantics is pretty much in the
eye of the beholder:  the reader, the computer algebra system, the
theorem proving system, or whatever.  Raman and others have refered to
this as late binding.

If you know who your reader is, then you should be able to convey
semantic information to them (Bob's point).  In particular, if the
writer is going to be the reader (a CAS output that is meant to be used
as input to the same CAS), then surely it should be able to
disambiguate its output.  This is the point of TagBoxes in
Mathematica.  However, the semantic information useful to one program
is very likely to be gibberish to the next.  Even for two similar
"typed" CASs such as Cayley and Axiom, I doubt that they could share
type information.

I've heard from several people (many not on this list), that they just
want to be able to convey simple semantics (eg, high school level
stuff).  The notational approach of the Wolfram proposal satisfies that
goal:  '+', square root, integrals, etc., are all present and I believe
that > 99.99% of all notation used up through calculus can be conveyed
(in a reasonably natural manner) by the Wolfram proposal.  Also, most
CASs can compute with this.  However, what they compute may not be so
easily controlled.  \sqrt{4} might return 2, or a set (array, list,
...) -2, 2, etc.  Similarly, a simple integral might return its result
symbolicly, numerically (to various precisions), or perhaps even return
a different result because some system integrate over the real, others
over the complexes, others ???

In case it wasn't obvious, my main point is that semantics is not
simple, and when it comes to CASs, vary widely, and may not even be
consistant within a CAS.  The one thing that is nearly universal and
well understood is notation.  There may be several ways to say the same
thing or there might be several interpretations of an ambigious syntax
(typically due to ellision).  The former is not really a problem and
one of the goals of the Wolfram proposal is to require the author to
avoid the former by adding a *little* extra information.

The last point should not be overlooked:  until sophisticated tools
exist, people will be forced to author HTML math by hand.  I doubt that
HTML would have taken off if it had an extremely baroque syntax.  If
someone has to learn 1,000 new names to author a document, they will
find an alternative.  The Wolfram proposal requires them to learn about
20 things because there are only a few basic notations used in
mathematics.  Ultimately, simplicity (along with completeness) may be
the most important part of an HTML math standard.  I suspect the
complexity of SGML's 12083 standard (and its the third? attempt at a
standard) is why so little material is authored using it.

One last thing to ponder:  if mathematical notation is not a good input
form, why is it a good output form?  I've never heard anyone propose
that output should be semantic.  The Wolfram proposal, like TeX, represents
a linearization of 2-d output.  In this sense, they are both trying to
represent what is desired within the constraints of a linear input model.
[Raman:  I apologize that this argument is so display oriented, but
I believe that the argument is not inconsistant with speech.  People don't
speak the semantics, they verbalize the notation].

I'm sorry if this is a bit disconnected, but its late and I'm in a hurry.
I hope this makes some sense,

	Neil Soiffer