[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.
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, (continued)
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, Jean Louis, 2023/01/18
- RE: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, Drew Adams, 2023/01/18
- Re: (*) -> 1, Jean Louis, 2023/01/19
- Re: (*) -> 1, Yuri Khan, 2023/01/19
- Re: (*) -> 1, Anders Munch, 2023/01/19
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, Michael Heerdegen, 2023/01/17
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, Jean Louis, 2023/01/17
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?,
Yuri Khan <=
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, Jean Louis, 2023/01/17
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, Michael Heerdegen, 2023/01/17
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, Yuri Khan, 2023/01/17
- Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?, tomas, 2023/01/17
- Re: (*) -> 1, Jean Louis, 2023/01/17
- Re: (*) -> 1, Michael Heerdegen, 2023/01/17
- Re: (*) -> 1, Óscar Fuentes, 2023/01/17
- Re: (*) -> 1, Jean Louis, 2023/01/17
- Re: (*) -> 1, Óscar Fuentes, 2023/01/17
- Re: (*) -> 1, Jean Louis, 2023/01/18