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

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

Re: [External] : Re: How to make M-x TAB not work on (interactive) decla


From: Yuri Khan
Subject: Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?
Date: Tue, 17 Jan 2023 22:59:43 +0700

On Tue, 17 Jan 2023 at 22:06, Jean Louis <bugs@gnu.support> wrote:

> I learned multiplication in school, we never had impossible
> situation of using single argument. As number has to be multiplied by
> number. Multiplication table has always 2 arguments.

I think we are getting somewhere. We have a common frame of reference:
School multiplication.

School defines multiplication as a binary operator, that is, taking
two arguments.

School then says multiplication is associative. That is, it does not
matter which order you do it: (a * b) * c = a * (b * c).

Because of this, it makes sense to talk about the product of a list of
numbers: a * b * c * d * e. It has the same value whether you
interpret it as (((a * b) * c) * d) * e or a * (b * (c * (d * e))).
You can even say there is a multiplication operator that takes five
arguments. Or four arguments. Or three. Or any natural number of
arguments.

Division, on the other hand, is not associative. If you say a / b / c,
people give you a funny look and ask to please clarify whether you
mean (a / b) / c or a / (b / c).

Time passes. You are now at a university. They tell you zero is a
natural number.

You recall that funny multiplication operator that takes a natural
number of arguments, which has a sound definition due to binary
multiplication being associative. Since zero is a natural number, what
should be the product of a zero length list of arguments?

School had also said multiplying by 1 has the same effect as not
multiplying at all. That is, a * 1 = a. Also, school had said that for
every non-zero a, if a * b = a * c, then b = c, hadn’t it? Somewhere
around the time you learned to solve equations. It was called
canceling.

Let’s look at that a * 1 = a. On the left, we have the product of two
numbers. On the right, we have one number, and if we squint at it like
this, we can say it’s a product of one number. So these are two
products that have a common element. We can cancel it. (Assuming it’s
not zero. But we know that a * 1 = a holds for any a, including
non-zeros.)

Now, on the left, we have 1. On the right… we have a product of no
numbers. And there is an equality sign in between.



reply via email to

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