(email failed...retry)

William Sit wrote:

=======
>I am still not sure what your immediate goal is. My current understanding
(correct me
>if I am still wrong) is that you want to translate the left hand side of
an identity (like a
>formula for an integral) given in latex into Axiom code which then, by
executing the
>code, generates the right hand side of that identity, first by outputted
as an Axiom
>expression and then as selatex, and one difficulty is the lack of
semantics implicit
>in the input (left hand side) latex string.

Well, the selatex output would only happen if you asked for it, but yes,
this is correct.

>However, there are other difficulties: often, there is no canonical form
for the right hand
>side (an answer after evaluating the left hand side),

If you look at the CATS Schaum's Integration set you'll see that each Axiom
integration result was subtracted from the published result, expecting it
to simplify to 0.
(This is undecidable).

Where the answers differed they usually differed by a constant
(which was shown by taking the derivative of the difference). Sometimes
special
simplification routines were needed, other times some rules had to be
applied to get
some trig identities. More than once there was no resolution, which either
indicates
a bug in Axiom, an error in the published result, or some hidden semantic
assumption.

Even more interesting is that many of the reference books list many results.

=======
>nor does Axiom always give the provisos under which the
evaluation/identity is valid

One crisis at a time... Axiom has, for example, branch cut choices and
these need to
be made explicit. Ideally, these could be changed by provisos. The SuchThat
domain
provides some proviso functionality but is rarely used at present. However,
the published
results don't provide the provisos either making the whole issue invisible
despite
being important.

=========
>For test suites, you won't have to worry about the canonical form or
provisos because
>you are only comparing the answer with the one generated by a previous
version of
>Axiom, to make sure nothing is "broken". For that purpose, the semantic
you need only
>needs to be consistent from one Axiom version to the next, and you may
choose the
>specific parameters needed in any way where the identity makes sense.

The regression tests use exactly this philosophy. But the CATS tests are a
"Computer Algebra Test Suite", not an Axiom test suite so they are measured
against
published results. On several occasions Axiom has found errors in the
published results.

==========
>The general problem (which I am not sure if you are pursuing) where one
wants to add
>explicit semantic to any mathematical expression given in latex is a far
more challenging
>one, independent of whether the expression can or should be evaluated, or
semantic
>provided for the rewritten expression (or "answer"). I wonder if the
general problem has
>applications. Would such mark-ups help or hinder the creation of a piece
of mathematical
>work?

In general I don't think published mathematics will adopt semantic markup.
The context
available in the surrounding paragraphs is sufficient. Most formulas are
just there
to make the text statements exact.

However, for reference works that have no surrounding paragraphs like the
CRC/NIST/etc.
the loss of paragraphs makes the formulas ambiguous. The E=mc^2 formula has
no
meaning if you don't know what E, m, and c are.

Reference works lack grounding. This is an effort to provide semantic
grounding by
showing that the formula is backed by algorithms that can recover the
"results".
Is that useful?

The CATS test suite shows that Axiom has problems which need to be solved.
It also shows that the reference works have published errors. Both efforts
benefit.

Is it of interest? Apparently so. Every so often someone tries to parse
latex with the
goal of automation or inter-system communication. The natural source of
latex
formulas are the reference works. The parsing effort fails every time based
on the lack of semantics. This effort addresses the "root cause", making
the
reference works much more useful.


On Sat, Aug 27, 2016 at 3:08 AM, Tim Daly <axiom...@gmail.com> wrote:

> (email failed... retry)
>
> The referenced paper only looked at the DLMF Airy functions. The results
> are:
>
> "Of the 17 sections in the DLMF sample chapter on Airy functions we can
> handle the mathematical
>
> formulas completely in 6, partially in 5 (without the transformation to
> MathML), and 6 remain
>
> incomplete.
>
>
> The grammar currently contains approximately 1000 productions, of which
> ca. 350 are dictionaries.
>
> There are about 550 rewrite rules. There are fewer rewrite rules than
> grammar rules, partly because
>
> dictionaries can be treated uniformly by manipulating literals, and partly
> because it is still incomplete
>
> with respect to the grammar.
>
>
> Our project shows that parsing mathematics in the form of LATEX documents
> written to project-specific
>
> rules is feasible, but due to the variations in notation the grammar needs
> to be engineered specifically
>
> for the project, or even for different chapters written by different
> mathematicians (e.g. the chapter on
>
> elementary transcendental functions and on Airy functions)."
>
>
> Many have tried to parse DLMF but there is not sufficient information in
> the latex. This
>
> effort used many rules to try to decide if w(x+y) is a multiplication or a
> function application.
>
> There are rules to decide if sin a/b means (sin a)/b or sin(a/b), either
> of which is trivial to
>
> distinguish if the latex read {sin a}/b or sin{a/b}
>
>
> Trivial amounts of semantic markup in the DLMF would communicate semantics
> without using
>
> 1000 productions which still get wrong answers.
>
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to