わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

3×5=5×3とは

いきなりですが問題です.

小学校の算数の範囲で,□=△,○=△のとき,□=○としていいのでしょうか.

そいでもって解答です.よく知られた反例がありまして,あまりのあるわり算です.実際,13÷4=3あまり1,55÷18=3あまり1と書きますが,だからといって,13÷4=55÷18とするわけにはいきません.
といったところで本題です.「3×5と5×3,答えは同じだけど,意味は違う」とはで書いたとおり,「式xで表される場面の集合」を S_x_ と表記するのを,前提とします.

「S_3×5_=S_5×3_ではない」というときの等号と,「3×5=5×3」と書くときの等号は,意味が違うのではないでしょうか.

結論から言うと,そう,違います.S_3×5_=S_5×3_かどうかを判定するときの等号は,集合論(の入門的な話)に基づきます.証明によく用いられる形で書くと,「s∈S_x1_ ならば s∈S_x2_ であり,s∈S_x2_ ならば s∈S_x1_ であるとき,かつそのときに限り,S_x1=S_x2_」でしょうか.
それに対し,「3×5=5×3」の等号は,書換え規則の適用に関する同値関係(反射性,対称性,推移性を満たす関係)として,解釈することができます.以下,このことを詳しく述べていきます.
書換え規則を,「左辺→右辺」で表します.0を含む自然数*1のたし算は,例えば次の2つの書換え規則で記述できます.

  • a+0→a
  • a+b'→a'+b

aとbは変数です.a'は,aより1大きい数です.あるいは,「a+1」を,たし算の記号を使わずに表したもの,と言ってもいいでしょう.
かけ算のほうも同様に,次のように書換え規則を定義します.

  • a×0→0
  • a×b'→a×b+a

これで,3×5⇒3×4+3⇒…⇒3×0+3+3+3+3+3⇒1+2+3+3+3+3⇒…⇒15とすることができます.同様に,5×3⇒…⇒0+5+5+5⇒…⇒15です.
我々としては,「3×5を計算すると,15になった.5×3も計算すると,15になった.だから,3×5と5×3は等しい,これを3×5=5×3と表そう」と解釈すればいいわけです.
「等しい」すなわち同値関係を説明していきたいのですが,その前に,書換え規則の適用について,いくつか注意したいことがあります.
上のとおり,規則では「→」,その適用では「⇒」を使い,それぞれ区別しています.項書換え系の慣習という面もありますが,書き分けによって,何に対するルールあるいは関係なのかが,明確にできます.なお,何度か使用した「⇒…⇒」については,あとで簡略表現を与えます.
もう一つは,たし算・かけ算で表される「系列」の一部に対して,規則を適用するのではないという点です.昨年,3+2×3を電卓で計算すると,15になるという話を書きました(世に数学の種は尽きまじ,5×3をめぐるお話・第5話).なぜ15になったかというと,3+2×3のうち「3+2」に着目して,計算したからですね.
項書換え系の観点では,式は,系列すなわち3,+,2,×,3が単純に並んだもの,ではなく,演算子の優先順位なども考慮して定義しておきます.カッコつきの式で表現することもできますが,書換え規則にまで影響を及ぼしますし,一般的とはいえません.むしろ,木構造で,式を---書換え適用の前後だけでなく,書換え規則の両辺も---表現するほうが,取り扱いが楽です.3+2×3なら,次のような木構造構文木)になります.

こうしてみると,「2×3」のところが,値として確定するまでは,てっぺんの「+」に関するところに,書換え規則が適用できないことが分かります*2.これで,乗除先行にも対応しているわけです*3
それでやっと同値関係…といきたいのですが,その前に,「⇒」をもとにした関係を一つ,書いておきます.先ほどの「⇒…⇒」を置き換えるもので,これを「⇒*」で表します*4.これは,次の性質を満たします.

  • a⇒bならば,a⇒*b
  • a⇒*a
  • a⇒*bかつb⇒*cならば,a⇒*c

このうち2番目の性質*5は「反射性」,3番目は「推移性」と呼ばれます.
この記号を使うと,3×5⇒*15であり,そして5×3⇒*15です.
では,同値関係です.記号としては「⇔」を用います.反射性,対称性,推移性を取り入れます.

  • a⇒bならば,a⇔b
  • a⇔a
  • a⇔bならば,b⇔a
  • a⇔bかつb⇔cならば,a⇔c

すると,3×5⇔15,5×3⇔15,15⇔5×3を組み合わせて,3×5⇔5×3が示せます.
この「⇔」が,小学校に限らず算数・数学の大部分の式の「=」に対応します.冒頭に書いたとおり,あまりのあるわり算では,慣例として「13÷4=3あまり1」あるいは「13÷4=3…1」と書きますが,この「=」が同値関係ではないのは,aとbとc,あるいは□と△と○に当てはめてみると確認できるというわけです*6
「⇔」はいいとして,その直前の「⇒*」は,何に使用するのでしょうか? …という疑問も出ると思いますので,使い道を書いておきます.2つの式が等しい(p⇔q,算数・数学ではp=q)を示すのに有用です.
まずpを計算(式変形)していきます.これ以上計算ができないとなったら,その時点の(あるいは1個の値)を,Pとでもしましょう.このとき,p⇒*Pであり,またp⇔Pでもあります.qも同様にして,q⇒*Qそしてq⇔Qとなる式Qを得たとします.
このとき,PとQが式(または値)として一致するなら,P⇔Qです.そうすると,p⇔P⇔Q⇔qであり(2番目の関係で反射性,3番目の関係で対称性を使用しています),推移性から,p⇔qと言えます.
手続きとしては,p⇒*Xおよびq⇒*Xを満たすXが存在するとき,p⇔qとなります.なお,逆は必ずしも言えません.
pとqという,一見異なる式が「等しい」のを示すのに,一方から他方を得るだけでなく,中間的なXというのをいわばゴールとして定め,pから計算しても,qから計算しても,そのゴールにたどり着けば,p=qが証明されたことになる,といった使い道があります.
小学校2年生で,交換法則として「3×5=5×3」を確かめる*7ときにも,3×5⇒*15そして5×3⇒*15という関係が,隠れているわけです.
関連:

追記:途中の画像の生成コマンドは次のとおりです.「$FONT」についてはこちらを参照してください(もしくは,TTFファイルのフルパスに置き換えるのでもかまいません).

convert -size 110x120 xc:white -fill blue -pointsize 20 -font $FONT -draw 'text 37,20 "+" text 67,63 "x" text 7,65 "3" text 40,110 "2" text 94,110 "3"' -fill none -stroke blue -strokewidth 2 -draw "line 42,26 17,45 line 42,26 67,45 line 72,68 50,89 line 72,68 94,89" 3+2x3.png

(最終更新日時:Sat Nov 3 03:24:05 2012ごろ)

*1:実は,0とか1とか2とか,a+1とかをどのように「項」として表すかについて,ルールを決めておく必要があります.本エントリでは省略します.いくらかは,学生時代の研究紹介で書いています.

*2:厳密には,項の持つ部分項だとか,代入・置換についての定義もした上で,書換え関係を定めることになります.例えば,「a+b→b+a」を書換え規則として利用可能とすれば,かけ算のところは手をつけることなく,3+2×3⇒2×3+3とできます.

*3:野暮な補足ですが,小学校の計算を,これらの規則に基づいて行えという主張ではありません.小学校の,0および正の整数を対象としたたし算・かけ算が,この書換え規則の集合によって原理的に計算できるという次第です.このやり方では,加法と乗法の交換法則・結合法則などを導出するのが困難ですし,小数や分数を含む演算にも対処できません.

*4:「*」は,0回以上の(「⇒」の)適用を意味します.正規表現の「*」と同様です.

*5:「任意の項(式)aに対して」を前に補って,読んでください.変数がaとbの2つのところは,「任意の項(式)aおよびbに対して」がつきます.

*6:「小学校の算数」を超えた状況だと,wikipedia:ランダウの記号を含む等式で,同様の問題が発生します.3n+2=O(n),200n=O(n)と書いても,3n+2=200nとはできません.

*7:野暮な補足ですが,小学校での交換法則の学習,そして本エントリの内容は,『さらが 5まい あります。1さらに りんごが 3こずつ のって います。りんごは ぜんぶで 何こ あるでしょう。』という文章題において「3×5」と「5×3」の両方が,その場面を表したものであるかどうかに関して,何も言っていません.