axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] RE: symbolic manipulation of expressions in Axiom

 From: Gabriel Dos Reis Subject: Re: [Axiom-developer] RE: symbolic manipulation of expressions in Axiom Date: 01 Apr 2007 18:02:19 -0500

```"Bill Page" <address@hidden> writes:

| On April 1, 2007 4:20 PM Gaby wrote:
| > ...
| > Bill Page wrote:
| > |
| > | There are *no* mathematical (algebraic) operations in InputForm!
| >
| > and I'm saying that once you've added them, as for Expression T,
| > you'll see no difference.  Adding them is precisely what people
| > do when they start "symbolic computation" and "simplification".
|
| No. I disagree at a deep level. I think what is done in the
| Axiom library is completely different. What Axiom is doing is
| fundamentally *algebraic*. Simplification of symbolic expressions
| does not any algebra.

Well, I do disagree there.  If you don't do any algebra, you cannot

For a symbolic expression, you first need to chose on a "standard form"
(or "normal form", depending on your religion).

The fundamental reason why "simplify" is so ill-defined for symbolic
expressions is precisely that whatever they have to do is profoundly
influenced by the algebra of the standard form structures.

For example, when you see something like

x^2 * 3 * x^(-4) * 5/89

you have to come up with algebraic computations for the "constant"
parts, and for the exponent parts -- many symbolic manipulation
systems assume tht "*" is commutative.

| For example to simplify an expression it
| is not necessary to instantiate an object which directly represents
| a polynomial in the way polynomials are represented in Axiom.

But, you do need to come up with standard form that requires you do
define algebra rules on the objects.  In particular, you do need to
make alegbraic assumptions regarding the polynomials.

| All that you need to do is to apply a set of re-write rules that
| accomplish (or not) your desired goal.

But, the rewrite rules do embody algebraic semantics.

| On the other hand creating a polynomial *object* (and some other
| algebraic objects) is exactly what Axiom does in the Expression
| domain.

simplify(differentiate (sin(x) + x, x)^2 + (sin(x) + x)^2)

| > [...]
| >
| > | > Also, be aware than the Axiom designers, in many places,
| > | > thought of Expression as the general domain for symbolic
| > | > manipulation and have appropriate hardwired type inference
| > | > rules in the interpreter.
| > | >
| > |
| > | Of course that is no problem. If you are able to read and
| > | understand Stephen Watt's paper on this subject, I am sure
| > | that this would be clear to you.
| >
| > That has nothing to do with what I'm saying.
| >
|
| ??? But that is exactly what I am saying.

"that is exactly" what?

| > BTW, it is possible to read Watt's paper and not agreeing with
| > him. And it is possible to agree with him and not reading his
| > paper.
|
| Certainly. In fact I agreed with him before I read his paper.
|
| > But again, what he said in his paper has nothing to do with
| > the distinction between Expression T and InputForm I'm
| > concerned with.
| >
|
| It is possible that I do not understand "the distinction between
| Expression T and InputForm that you are concerned with", but I
| did think that my concern in this regard was the same as yours.
| If that is the case then I strongly disagree with your conclusion.
| I also feel strongly that understanding this distinction is
| critical to understanding what is different about Axiom as a
| computer algebra system, so I have a lot of motivation to continue
| this discussion until we can find some agreement.

I believe I understand what makes the difference between Axiom and
other CASes, but I think both you and me seem to profoundly between
the outcome of InputForm augmented with all that is necessary to mimic
other CASes and Expression T.  Consequently I do not see the link

# understanding this distinction is critical to understanding what is
# different about Axiom as a computer algebra system.

| How shall we proceed?

Definitely.

| Would it help if I try to described more formally my understanding
| of exactly how Axiom captures matematical semantics in terms of
| the representation of objects and how that differs from more
| syntactical things like term re-writing? Or do continue to insist
| that we not talk about representation?

I believe the distinction must be explained through interfaces.  If we
must resort to internal representations, then the distinction is
artificial, not fundamental; therefore, we can ignore it as being
merely non-fundamental artefacts.

-- Gaby

```