背理法で解き明かす「ルート2が無理数であること」の証明:エンジニアの論理的思考

こんにちは。ゆうせいです。

プログラムのデバッグにおいて、「もしこの変数に不正な値が入っていると仮定すると、後の処理で矛盾が生じる。ゆえに、この変数に不正な値が入ることはあり得ない」という推論を行うことがあります。この思考プロセスは、数学における「背理法」そのものです。今回は、エンジニアの基礎教養として、ルート2が無理数であることを背理法を用いて論理的に証明します。

背理法とは何か

背理法は、ある主張を証明するために、あえてその否定が正しいと仮定し、そこから導き出される矛盾を指摘することで、元の主張が正しいことを結論づける手法です。

比喩を用いると、「犯人が外から侵入した」ことを証明するために、「もし犯人が内部人間だったと仮定すると、防犯カメラの記録と整合性が取れない。したがって、内部犯説は否定され、外部からの侵入であると断定できる」といった論理の組み立てに似ています。

ルート2が無理数であることの証明

それでは、具体的に証明を進めていきましょう。

1. 否定の仮定

まず、「ルート2は無理数ではない(=有理数である)」と仮定します。

有理数であるということは、これ以上約分できない既約分数(整数 p, q を用いて p/q )として表現できるはずです。

\sqrt{2} = \frac{p}{q}pq は互いに素な整数)

2. 式の変形

この式の両辺を2乗して、分母を払います。

2 = \frac{p^{2}}{q^{2}}

p^{2} = 2q^{2}

この等式は、 p^{2} が2の倍数(偶数)であることを示しています。2乗して偶数になる数は、元の数も偶数であるため、 p はある整数 k を用いて p = 2k と置くことができます。

3. 矛盾の導出

p = 2k を先ほどの式に代入します。

(2k)^{2} = 2q^{2}

4k^{2} = 2q^{2}

q^{2} = 2k^{2}

これにより、 q^{2} も2の倍数であり、したがって q も偶数であることがわかります。

4. 結論

ここで矛盾が生じます。 pq も偶数であるということは、両者は2で約分できることを意味します。これは、最初に定義した「 pq は互いに素(これ以上約分できない)」という前提条件と矛盾します。

したがって、最初に立てた「ルート2は有理数である」という仮定が間違っていたことになり、ルート2は無理数であることが証明されました。

エンジニアがこの論理を学ぶメリットとデメリット

論理的証明を理解する利点

利点:システム設計におけるエッジケースの検討や、アルゴリズムの正当性を検証する際に、漏れのない論理を組み立てる訓練になります。「あり得ない設定」を仮定して矛盾を突く手法は、セキュリティ診断などでも応用されます。

実装上の注意点(デメリット)

欠点:数学的に無理数であると証明されていても、コンピュータ上で扱う際には、必ず有限の桁数で近似(丸め処理)を行う必要があります。理論上の完璧な証明と、計算機上の有限精度のギャップを常に意識しておかなければ、数値計算において重大なバグを招く可能性があります。

学習のステップ

論理的思考を実務に活かすために、以下のステップで学習を進めてください。

  1. 「もしこの条件分岐が通らないと仮定したら、どのような矛盾(システムエラー)が発生するか」という視点で、自身の書いたコードをレビューしてください。
  2. 浮動小数点数における精度不足が原因で、数学的には等しいはずの数値がプログラム上で不等(False)と判定される具体的なケースを確認してください。
  3. ルート3やルート5など、他の数値についても同様の手順で無理数であることを証明し、背理法のパターンを定着させてください。

論理の矛盾を突く能力は、高品質なコードを書くための強力な武器となります。数学的な証明を通じて、その感性を磨いていきましょう。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。