「あってはならない」ではなく「はいけない」と述べよう

不始末の謝罪や、それを非難する文脈で「であってはならない」という言葉遣いを目にすることがある。あまり目くじらを立てるつもりはないし、他の人が使う分には特段問題にするつもりもないが、自分はこの言葉遣いを使わないつもりだ。

簡単にいうと、「であってはならない」には<否定形のルールの定義>という意味と、<事実の存在の否定>という意味の両方で使われるから、というのがbawbrの考え。

英語でもあまりその状況は変わらず、"It must not be that ..."と書いたら、何かをしてはならないという意味にも読めるし、that以下の事実の否定の意味もあるように読める。英語の場合には、that以下が現在形で書かれればルールだし、過去形で書かれれば事実の否定と見分けがつくのだろう。

C++JAVA以降のオブジェクト指向言語でいうところの、クラスとインスタンスの差としてもいいかもしれない。

例えば、「赤信号なのに横断することはあってはならない」という言葉遣いをしたとき、交通教本に書いてある文脈であればルールが書いてあるということだと理解できるだろう。しかし、赤信号で横断する人を撲滅しようとする警察内部の課題検討会議の際に、会議参加者からこの発言があったとすれば、信号無視の検討をするのはおかしいということを含意してしまう。

若くて真面目な1年目のひとが、信号無視の発生件数を集計してえらい人たちに報告している姿を思い浮かべてみよう。「信号無視はあってはならないのに件数が0ではないのはなぜか」などと偉い人たちから言われたら、どうおもうだろうか。本末転倒の事態が生じる。信号無視はあってはならないのにもかかわらず、件数が0ではないのはカウントの仕方が間違っているに違いないという(苦笑。これはパワハラ)。

信号無視だからわかりやすいが、もっと専門性の高い分野、科学や、ビジネス、法律などとなってくると、本当に笑えない事態が生じてくる。

そんなことをいろいろ考えるに、日本語でクラス定義としてのルール記述で否定形を使う場合には「はいけない」という言葉遣いが適切だろうとおもうようになった。「赤信号での横断はいけない」「大気中にベンゼンが〇〇以上含まれてはいけない」「仕入先への発注後金額を変更してはいけない」など。これだと事実の否定の含意はなく、ルール違反は悪いことだけれど存在はするというニュアンスが出てくる。

混乱させるようなことをあえて書けば、刑法には「はいけない」という言葉遣いは使われておらず、「他人の財物を窃取した者は、窃盗の罪とし、10年以下の懲役又は50万円以下の罰金に処する。」という書きぶりになっている。この書きぶりもおもしろくて、「窃盗はあってはならない」とか、「(国が課するのは)10年超の懲役ではあってはならない」というような書きぶりではない。

いずれにしても、否定形のルールというのは解釈が難しくなるので、なるべく肯定系で書きたいところだ。