emacs-devel
[Top][All Lists]

Re: Making 'eq' == 'eql' in bignum branch

 From: Alan Mackenzie Subject: Re: Making 'eq' == 'eql' in bignum branch Date: Fri, 31 Aug 2018 21:58:55 +0000 User-agent: Mutt/1.10.1 (2018-07-13)

```Hello, Clément.

On Fri, Aug 31, 2018 at 16:30:46 -0400, Clément Pit-Claudel wrote:
> Hey Alan,

> On 2018-08-31 15:59, Alan Mackenzie wrote:
> > I'm speaking not as a mathematician, but as somebody with a degree in
> > maths.

> I'm speaking as someone who didn't expect a conversation like this one
> to spark such a strong-worded discussion :)  The whole debate rings
> odd to me (I agree with
> https://math.stackexchange.com/questions/36289/is-infinity-a-number:
> It comes down to the definition of "number," as well as the definition
> of "infinity")

"Number" is defined in maths (of course, it's not simple, with many
different types of number), "infinity" is not, except in special
restricted contexts.

> > +/-infinity are not numbers.  They do not satisfy the axioms which
> > define numbers.  For example they do not satisfy
> >
> >     (x + y) + z = x + (y + z)
> >
> > .  They cannot be made to satisfy these axioms.

> I see the point, but… floating point numbers are not associative
> either, and it doesn't seem to controversial to call them "numbers".

Addition on real numbers is associative.  It is also, almost, on
floating points, but not quite, because floating point is only a
practical approximation to real numbers.  In practice, it means you've
got to be careful with floating point calculations, and what order you
do them in.

> >> They're not real numbers, but neither are complex numbers,
> >> split-complex numbers, dual numbers, p-adic numbers, quaternions,
> >> octonions, sedenions, hyperreal numbers, or (please no) surreal
> >> numbers.

> > That's a strawman.  The issue being discussed here is numbers, not
> > arbitrary algebraic structures.

> I read this as an example of the many meanings that the word "number"
> can take, depending on the context.  It sounded pretty convincing.

To me, it sounded like a diversion from the concept of numbers we have
in Emacs.

> >> .... she has no exclusive claim over the definition (such as it is)
> >> of "number"

> > That's analagous to saying that climate scientists don't have the
> > exclusive say-so about climate change.  Ha ha, who needs experts?

> This is a very strongly worded charge.  The original formulation could
> have been better, but to me it didn't look like a rejection of
> expertise… rather, I took it as a statement that the word "number"
> gets assigned different meanings across fields.

Yes, it may.  But which meaning should we stick to in Emacs?  I say the
mathematicians' meaning.  It's the most likely to be consistent and the
least likely to cause untoward side-effects.

> >> (and I'm a bit surprised if she hadn't heard of at least one of the
> >> extended real lines I linked).

> > Again, offensive.  "Infinity", with or without a sign, might be
> > classed as an "extended number", but as noted above, is not a
> > number.

> I don't understand this part.  Does the word "number" on its own even
> have a strict definition, beyond something vague like Wikipedia's
> "mathematical object used to count, measure and also label"?

There are many different types (grades, if you like) of number.  In
Emacs, we have computer approximations of Integers and real numbers.
Both of these concepts are rigorously defined in maths, in several
different ways (which can be shown to be equivalent).  Other types of
number include rationals (aka fractions), algebraic numbers (solutions
of polynomial equations with integer coefficients), and complex numbers
(which cannot appear as arguments to min or max, since the relation <
cannot be defined on complex numbers without creating contradictions).

> Cheers,
> Clément.

--
Alan Mackenzie (Nuremberg, Germany).

```