Up 何をすることがモデルをつくることか?──「自然数のモデル」で考える 作成: 2011-10-06
更新: 2011-10-07


    数学の「自然数」は,日常生活での「1, 2, 3, ‥‥」の使用を出自とする。
    この使用に構造を見て,これを数学にしようとする。
    到達した形が,つぎの定義である:

    1. 自然数の系の定義
        自然数の系は,先ず,集合 と, の一つの要素1と,関数f: ─→ の組
        ,1,f)     
        であり,そしてこれについて,以下のことが成立している:

          1° f(x)=1となる の要素xは存在しない;
          2°  の要素x,yについてf(x)=f(y)ならばx=y;
          3°  の部分集合 ′ は,つぎの条件を満たすとき,実は と一致している:
            1が ′ の要素になっている;
            xが ′ の要素のとき,f(x)も ′ の要素.

    2. 算法の定義
      1. 加法 (和) の定義
          1° x+1=f(x)
          2° x+f(y) = f(x+y))
            (言い換えると,x+(y+1)=(x+y)+1 )
      2. 乗法 (積) の定義
          1° x×1=x
          2° x× f(y) = x×y+x
            (言い換えると,x×(y+1)=x×y+x )

    ここで,自然数の系の定義におけるつぎの設定は,「系列」という形を定めている条件をそのまま (但し,上手に還元して) 示したものである:
    1. 1の導入 (「系列の最初の項」と読まれることを想定)
    2. 関数fの導入 (「f(x)」が「xの後者」と読まれることを想定)
    3. 条件 1゜と 2゜

    これに対し,条件3゜(「数学的帰納法」) は異質に感じられる。
    条件3゜が求められるのは,系列の無際限に続く項に対して,一般命題をつくらねばならないからである。 特に,日常の自然数の計算でアタリマエにしている算法の結合法則,交換法則を,一般命題として保証しようとすると,3゜のような条件の導入が必要になる。

    3゜の導入は,算法の結合法則,交換法則等をいちいち自然数の条件として定めていくよりは,はるかに気の利いたものになっている。 納得できる内容 (「ドミノ倒し」のロジック) であり,そして射程が広い。
    実際,3゜の導入によって,算法の法則は定理 (真であることが証明される命題) になる。


    数学は,「これは自然数だ」「これが自然数だ」を言わない。
    数学は,つぎのような言い方しかしない:
      「自然数において,つぎのことが成り立つ:‥‥」

    数学は,自然数をつくって示すことを,自分の仕事とはしない。
    なぜか?
    数学をはみ出てしまうからである。
    自然数をつくる論は,超数学になってしまうのである。


    自然数をつくることは,数学の自然数のモデルをつくることと見なせる。
    しかし,自然数をつくるとは,何をどこまですることなのか?
    これを,ここで問題にする。


    日常生活の「1, 2, 3, ‥‥」は,数学の自然数の出自である。 この「1, 2, 3, ‥‥」は,,生成文法の方法を用いて再現できる。 すなわち,系列「1, 2, 3, ‥‥」の定義と,この上の算法の定義を,生成文法で書くことができる。

    しかしこの場合,算法の結合法則,交換法則のような一般命題は,<成り立つこと>として示すことはできない。
    このことに対し,つぎの問いが立つ:
      これを,「モデルとして不足」と思うべきか
      「モデルはこんなもんだ」と思うべきか

    《「こんなもんだ」と思うべき》の考え方は,《これで日常生活の「1, 2, 3, ‥‥」が過不足無く再現されている》である:
      実際,日常生活の「1, 2, 3, ‥‥」は,結合法則,交換法則が証明できない。
    そしてそのことで困ったことはない。
    なぜなら,数が具体的に与えられれば,結合法則,交換法則は証明できるからである。
    問題は,「数が具体的に与えられれば」と「任意の数に対し」の間の階梯を埋められないということであるが,こんなことは生活の上ではどうということはない。 生活では,「数が具体的に与えられれば」と「任意の数に対し」は同じことなのである。

    《「不足」と思うべき》の考え方は,「不足」を埋めるために,つぎをセットにした理論をつくろうとする:
    1. 生成文法の方法で,「1, 2, 3, ‥‥」とこの上の算法を定義する。
    2. 推論規則と公理を導入して,算法の結合法則,交換法則が定理として証明されるようにする。

    このとき頭を悩ますことになるのは,公理を何にするかという問題である。
    結合法則,交換法則を公理にしてしまうのは,ご都合主義の感がある。 実際,「任意の数に対し」を言えるためだけにする公理の導入である。
    「1, 2, 3, ‥‥」をつくった上で,なぜさらに「任意の数に対し」をやらねばならないのか? そもそも,「1, 2, 3, ‥‥」をつくったということは,「数が具体的に与えられるようにする」ということではないか。 そして,具体的に与えられた数に対し,結合法則,交換法則は成り立つのである。

    しかも,この理論づくりは何のためか?
    すなわち,理論ができたとして,これの機能は何か?
    実際,「1, 2, 3, ‥‥」の形式は,既に数学が「自然数」の主題で回収し明示しているのである。 この上,なぜ理論が必要なのか?