掛け算論争について

 大手小町風に言うと(駄)なエントリです。年末で暇をもてあましている人向け。

 ここ数日、Twitter のタイムラインに流れてきている掛け算論争。断片的なツイートを追いかけただけでも、瑣末な問題、という印象をぬぐえないのですが、小学校時代に算数で味わった苦い思いでがフラッシュバックする人もいたりして、それなりに盛り上がっているようです。

 問題の発端は、東京書籍の教科書(問題集かな?)で、「掛け算の順序を入れ替えた式を書く生徒には、順序にも意味があることを教えましょう」という記述があったことです。つまり、3 × 5 と 5 × 3 は意味的に違うことを生徒に理解させてね、ということが先生向けにコメントされているわけです。

 これは、別に間違った指導ではありません。実際、掛け算の問題がこういう形だったら、誰もが順序を意識するはずです。

「ミカンが五個入った箱が三つあります。ミカンは合計何個でしょう。□の中を埋めなさい。□個×□箱=□個」

 この場合に、3個 × 5箱 = 15個 という答えを書いてきた生徒がいたら、あなたが教師だとして、正解とするでしょうか。それでは先生失格です。「確かに最終的な答えを見ればあっているが、君はこの数式の意味を理解していない」と諭すでしょう。

 このとき、「3 × 5 ≠ 5 × 3」なのか! と声を荒げて東京書籍に電凸するのは、構文論(syntax)と意味論(semantics)を混同している人だけです。確かに、構文論的に見れば、乗法には可換性があるため、a × b は常に b × a に入れ替えることができますが、しかし両者の式は意味論のレベルでは異なる解釈が適用されます。

 この構文論と意味論の区別は、私の記憶する限り義務教育では教わりません。この言葉自体、大学で情報系の講義にでも出ないと目にしない。義務教育の間は、生徒は数式の変換規則を学ぶことで構文論を、その数式を現実に適用することで意味論を、あくまで暗黙に学ぶだけです。

 本当は中学生ぐらいで十分理解できる構文論と意味論の区別を知らないまま大人になってしまった人たちの混乱した頭が、親切にも小学生の時点から意味論を意識して教えようとした東京書籍によって刺激されてしまった、というのが今回の論争の構造であるように見えます。


2012/04/18追記:

 最近、Twitterなどでこのエントリに対する批判らしきものを見たので、少し補足しておきます(「らしき」というのは、結局間違いについての具体的な指摘を見つけられなかったからです)。

 まず「意味論という語をどういう意味で使っているのかわからない」という意見がありました。これは「変数に対して値を割り当てる局面」という意味で使っています。算数ではこの行為を「立式」と呼んでいるようです。

 乗算について、可換性を持つことを否定する人はいません。つまり、構文論に閉じる限り、この問題はそもそも生じません。掛け算の順序が問題になるのは、立式のとき、意味論に足を踏み込んだときです。つまり、この問題は、意味論側の問題だ、というのが私の理解です。従って、可換性という構文論の原理(少なくともそれだけでは)で批判するのは、論拠として適当ではない。これが私の主張です。

 なお、一点、もしかすると勘違いした人がいるかもしれないのでここで明らかにしておきたいのですが、私は別に掛け算の順序を固定する教育法に賛成しているわけではありません。というのも、もしこういう教え方をしてしまうと、「掛け算には可換性がない」と誤解する生徒が出てしまうかもしれないからです。それはそれで弊害が大きい。

 それでも、立式の際に変数の順序を入れ替えると文の意味が異なる ―― 3個の箱が4つあるのと、4個の箱が3つあるのは違う ―― ことを教える必要はあるので、私としては、立式の際に、単位もあわせて書かせるようするにするのがよいと考えています。それなら、小学生が式の意味を理解しているかどうかもチェックできるし、順序にこだわる必要もありません。

 以上が私の言いたかったことの全てですが、この主張のどこかに「トンデモ」なところがあるならば、私も自分の間違いを知りたいので、教えていただきたい。

2012/04/30追記:
 コメント欄での議論を通じて、自分の考えに様々な不備があることが分かりました。この問題については、一度考えを白紙に戻し、考え直したいと思います。
 議論の相手になっていただいた皆様に、感謝いたします。