「同じ」という言葉は何を意味するのか?
あるものAとあるものBが「同じ」だというのは、何を意味するのだろう。 もしも、AとBが数字なら、その意味ははっきりわかる。 例えば、A=1でB=1なら、AとBが「同じ」だということになる。それは、1=1のことだ。 もしも、AとBが集合なら、AとBが同じだということは、Aに含まれる要素がBに含まれる要素が全て等しいということだ。集合 A={ りんご、みかん、バナナ } は、集合 B = { バナナ, みかん. りんご } と「同じ」である。 もしも、AとBが三角形なら、二つの三角形の二辺の長さが等しく、その二辺が作る角度が等しい場合、三角形Aと三角形Bは、「同じ」だと言える。 これらの例でわかることは、あるものとあるものが「同じ」だというためには、それぞれが、同じ種類のものでなければならないということ。数字と三角形は、「同じ」にはなれない。 ここでの「同じ種類」というものを、「同じ型を持つ」ということにすれば、あるものAとあるものBが「同じ」だというためには、AとBは、「同じ型」を持っていなければいけないということになる。 このあたりのことを、数学者のドリーニュが例を挙げて丁寧に説明しているビデオがある。"What do we mean by "equal" " https://goo.gl/nXhqmb 今年の9月にプリンストンの高等研究所で開催された "Vladimir Voevodsky Memorial Conference" https://www.math.ias.edu/vvmc2018 での、彼の講演である。 ドリーニュは、若くして、グロタンディックを出し抜いて「ヴェーユ予想」を解いた有名な数学者なのだが、不思議なことに、彼が説明していることは、コンピュータでプログラミングをしたことがある人は、よくわかっていることだということである。 整数 A=1 と浮動小数点実数 B=1.0 とは、コンピュータ内部での扱いは違うものである。もしも、あるプログラミング言語が、整数型・実数型の他に複素数型をサポートしているとすると、A=1, B=1.0, C=1.0+0.0i は、皆、違うものである。 数字の場合いずれの型にも、加減乗除の演算は定義される。複数の型に適用