help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: (*) -> 1


From: Michael Heerdegen
Subject: Re: (*) -> 1
Date: Wed, 18 Jan 2023 14:37:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Jean Louis <bugs@gnu.support> writes:

> I can't see that 1 is nothing for produts, but I understand what you
> wish to say. 
>
> If (*) ➜ 1 is "nothing", adding three "nothing" yields with 3:
>
> (+ (*) (*) (*)) ➜ 3


You are still victim of a thinking error: you only think of counts of
things, counts of cars, etc.  But you can only _add_ counts of things, it
makes no sense to multiply counts of things.

Saying "I have no cars in my garage, but (*) ==> 1, so where is that car
out of nothing?" is equally nonsense as saying "A has 2 cars and B has 3
cars, and (* 2 3) ==> 6, but together they have only 5 cars, so where is
that car out of nothing?".  Multiplication of quantities is not meaningful
in this sense, it is the wrong operation, so there is no reason to
question the result when interpreting the result as a count of objects.


The following will be my last examples.

What kind of stuff in the real world could be multiply?  Maybe
multiplication rates of money?

Like, in year 1 you got 10 Percent interest on your investment.  3
percent in year 2.  In year 3 you did not invest your money, you were
ill all the time, or whatever.  In year 4 you got 4 percent.

The final interest is the product of interests in all years:

  1.1 * 1.03 * 1 * 1.04 = 1.17832

So 17.832 percent in those 4 years.  You could also leave out the third
factor 1.  But that might complicate your calculation unnecessarily.
The factor in year 3 can be assigned a number, it can be measured, even
when you "did nothing".  It's like the 0 in sums: adding a factor 1
doesn't change the result, so it plays the role of "nothing".  You did
not get "1 money" in that year.  That is a nonsense interpretation.
Those factors are not things like cars.  But they are useful for a
calculation.  It's a kind of abstraction.

Another example: transmission rates in a microscope.  Lenses attenuate
the beam of light through the microscope.  The final transmission rate
is the product of transmission rates of the parts.  Say every lens
takes away 10 percent of the transmission rate.  Say the objective A has 2
lenses, the middle part B no lenses, and the ocular 3 lenses, but two of
those are special very expensive lenses that take away only 1 percent:

The final transmission rate is (using Lisp syntax this time)

rate_A * rate_B * rate_C = ((* 0.9 0.9) (*) (* 0.9 0.99 0.99))
                         = (*     0.81   1   0.88209)
                         = 0.71449...

So you loose approx. 28.5 percent of light across the microscope.

That doesn't mean that the middle part adds a light beam or a
microscope.  These factors don't describe object counts.

> Otherwise I don't know. Do you know use case for (concat)?

Well, invent some, I think you are able to.  We have to stop here or
people get angry, this discussion has diverged away from Emacs.

> Or was it just capricious thinking: "Let me add identity element, it
> will look more like advanced mathematics"
>
> Or was it the reason that it was maybe copied from C language which I
> do not know, and which maybe got much more use of functions which
> yield 1 for multiplication without any elements?

No, none of that.  We are actually speaking about elementary maths, and
this is a useful handling of a corner case.

Michael.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]