小学生が教室で話しています。
「$1+1$は?」
「$2$」
「ブー!$1$でしたー!$2$つの泥団子を$1$つにしたら$1$でーす!」
今回のテーマはこれです。
これが正しいのかを検証していきます。
結論を言うと、$1+1=2$です。
しかし、これは自然界が決めたルールにすぎません。
ルールはそう!作るものです。
以下の条件を満たす性質を持つ演算を群と呼びます。
$演算 f:G×G→G$に対し
結合法則が成り立つ
$∀a,b,c \in G s.t. f(f(a,b),c) = f(a,f(b,c))$
$例:(a+b)+c = a+(b+c)$
$例:(a*b)*c = a*(b*c)$
単位元が存在する
$∀a \in G, a・e = e・a = a$が成り立つ時、
$e \in G$は単位元
$例:∀x \in \mathbb{C}, x+0=0+x=x ∴0は+において単位元$
$例:∀x \in \mathbb{C}, x*1=1*x=x ∴1は*において単位元$
逆元が存在する
$e:単位元 \in G,∀a \in G, a・b = b・a = e$が成り立つ時、$b \in G$は逆元
$例:∀x \in \mathbb{C}, x+(-x)=(-x)+x=0 ∴+において-xはxの逆元$
$例:∀x \in \mathbb{C},x≠0, x*x^{-1}=x^{-1}*x=1 ∴*においてx^{-1}はxの逆元$
ここで話を戻します。
$1+1=1$ということは、$1$が単位元ということになります。
つまり、この小学生は$1$を単位元として$+$を再定義した。もしくは、$×$と勘違いしたということになります。
前者の$+$は使い道がないので、個人的には後者だと思います。
$1$を$+$の単位元とすると、$1+1=1$となります。
じゃあ$0$は?
その子の考え方で言うと、$0$個の泥団子は混ぜられないので、
$1+0=1$となりそうです。
しかし、待ってください。
先ほど、単位元は$1$と定義しましたが、このままだと$0$も単位元となり、単位元が$2$つ存在するということになります。
群では単位元は一つです。
$∀e, e' \in Gを単位元とすると$
$∀a \in G, a・e = e・a = a ①$
$また、a・e' = e'・a = a ②$
$①,②$より、
$a・e = a・e'$
左から$a^{-1}$を演算すると
$e = e'$
よって、$1+0=1$は間違いです。
この子の$+$の定義を知りたい。
$+$を$×$にするとうまくいきます。
$1×1=1$
この子は、$2$つの泥団子を合体させています。
例えば、赤色の泥団子に、黄色の泥団子と青色の泥団子のどちらか$1$つをくっつけることを考えます。
混ぜると、オレンジ色の泥団子か、紫色の泥団子になり、$2$通りとなります。
つまり、$1×2=2$です。
また、赤色の泥団子と黄色の泥団子のどちらか一つと、青色の泥団子と黒色の泥団子のどちらか一つを混ぜると、組み合わせは
$$赤ー青$$
$$黄ー黒$$
$$赤ー青$$
$$黄ー黒$$
となり、$2×2=4$となります。
もし、泥団子が$0$個の場合は、くっつけることができないので$0$になります。
また、$4$つ合体させて$1$つにする場合は$1×1×1×1=1$となり、つじつまが合います。
この子が言っているのはこういうことじゃないでしょうか!
違いますね。はい。
小学生が教室で話しています。
「じゃあ$3+5$は?」
「$8$」
「ブー!$35$でしたー!」
次はこれを考えていきます。
まずは、次のように考えます。
$$f:G×G→G$$
$$ (a,b) \mapsto aとbを繋げたもの$$
(abと書くとa×bとまぎらわしいので変えてます。)
例えば、$f(1,2) = 12、f(3,5)=35、f(f(1,6),8)=168$
結合法則は成り立ちますが、単位元、逆元がないので群ではありません。
ちなみにJavaなど、プログラミングの世界ではStringという型があります。
プログラミングでは、変数に型を指定する必要があります。
例えば、intを指定すると、その変数には整数が入ります。
int a = 7;
int b = -10;
とすると、aに7、bに-10が代入されます。
演算子がintの場合は
a + b = -3
となります。
一方、Stringを指定すると文字列が入ります。
String c = "おはよい"
String d = "laghing dog"
とすると、cに「おはよい」、dに「laghing dog」という文字が代入されます。
さらに、$+$も定義されていて、StringとStringを足すと、文字列を繋げることができ
c + d = "おはよいlaghing dog"
となります。
なので、もし3と5が文字列の場合、"3"+"5"="35"となります。
(""は文字列ということを強調しているので無視してもよいです。)
よって、この小学生はプログラミングのStringの概念を理解しているということになります!
ちなみにStringは""(空文字)が単位元ですが、逆元がないので群ではありません。
$$・「1+1=1」は「1×1=1」のこと$$
$$・「3+5=35」はString型$$
$$・まったく、小学生は最高だぜ!!$$