Date: Jun 3, 2013 11:11 PM Author: Andrzej Kozlowski Subject: Re: Applying Mathematica to practical problems For those who have seen the innumerate past discussion of this topic:

essentially it all amounts to the fact I mentioned below, that on the

set of all "numbers" available in Mathematica, the ordinary equality (==

or Equal) is not an identity relation; in particular, it is

non-transitive. That's all. In fact Richard made once (or rather, at

least once) an attempt to show that one could dispense with Equal and

replace it with SameQ - if I recall correctly it was not a success but I

don't want to spend more time on this matter so won't bother looking for

past posts about this.

My point about non-standard analysis was that seemingly strange

"extensions" of the concept on number are common in mathematics: the

best known example is adjoining positive and negative infinity to the

real line. Non-standard analysis is another such example. Imbedding real

and complex numbers in a wider set, which contains "non-exact" numbers

is simply another example of this approach. I have not tried to consider

this carefully, but I am pretty sure it can all be made logically

consistent. In general the arithmetic of numbers of varying precision

will be "strange", even the associative law for addition will not hold

in general. There is nothing wrong with this. The only somewhat

controversial issue is that Mathematica's extension of equality to such

entities is not an identity relation. There are technical reasons for

this and I don't think this is a problem, particularly that Mathematica

also has (of course!) the genuine identity (SameQ or ===).

Andrzej Kozlowski

On 3 Jun 2013, at 12:05, Andrzej Kozlowski <akoz@mimuw.edu.pl> wrote:

>

> On 3 Jun 2013, at 09:34, Richard Fateman <fateman@cs.berkeley.edu> wrote:

>

>> On 6/1/2013 9:23 PM, Andrzej Kozlowski wrote:

>>> This is one of many examples of "cross purpose" arguing. I was not

>>> discussing implementing non-standard analysis at all. My point was

>>> that that there is nothing logically more dubious about a finite

>>> "number" x such that x+1=1 than there is about a positive "number" x

>>> such that nx< 1 for every positive integer n, or, alternatively,

>>> finite "number" x such that x/n >1 for every positive integer n.

>>> Mathematicians often use the word "number" when referring to objects

>>> belonging to some "extension" of the real line.

>>

>> Oh where to start. Here's one place.

>>

>> You say it is ok to have a number x such that x+1=1. I agree.

>> I say it is NOT ok to have a number x such that x+1=x.

>> You respond

>> It is ok to have a number x such that x+1=1.

>> Can you see the difference?

>

> Yes, I was careless about this, but that was because it does not

really matter. It is O.K. to extend the real line to an algebraic and

topological sturcture which contains objects such x such that x+1=x.

Of course such objects do not have inverses, so you can't conclude that

0=1. Admittedly, in Mathematica the underlying logic is obscured by

the fact that it equality is not identity, so you do have

>

> 1`0 == 1

>

> True

>

> 1`0 == 0

>

> True

>

> but

>

> 1`0 == 0

>

> True

>

> All this means that equality is a non-transitive relation on this

extended set of objects (but identity is). That is also logically

perfectly sound.

>

>>

>>

>> Also is the Grobner basis program in Mathematica the fastest?

>> I suspect it is not, though I have not compared it to Faugere's

>> work, or other unnamed systems. Is it the only one using significance

>> arithmetic? I suspect it is. What would that prove? What

>> would that prove about use as a default?

>

> This is nonsense. Faugere does not work on numerical analysis and has

not implemented a numerical Groebner basis. Other people have worked on

approximate Grobener bases using fixed precision arithmetic but (as far

as I know) there are no working implementations available.

>

> Groebner bases with exact coefficients are an entirely different

subject, unrelated to this discussion.

>

>

>>

>> Finally, I would remind AK (and others)

>> that proving some number of correct results

>> does not prove an algorithm is correct. Proving even one incorrect

>> result demonstrates a bug.

>>

>

> You have never demonstrated one incorrect result proved by

Mathematica.

>

> AK

>