Scribble at 2024-03-16 11:54:17 Last modified: unmodified

添付画像

当サイトでたびたび使っている言葉で、一般的に使われている意味と異なる場合があるために誤解を招く恐れがあるのは、何度か注釈しているがモデル理論(model theory)の用語だ。特に、この国の技術者は HTML や CSS といった技術のバックグラウンドになっている規格、それから規格を成立させている数学的な基礎であるモデル理論や数理論理学について殆ど関心がないし素養もないため、要するに「コーディング」にあたっての基本になっている思想を理解していない。これでは、アメリカだろうと日本だろうと、小手先の「プログラミング教育」や「コーディング学習」を繰り返しても、業界を牽引するどころか新しい発想で業界を別のステージなり方向へ展開するような、真のクリエーティブなりイノベーションは育たないわけである。繰り返すが、池田信夫君や維新の会などというリバタリアンが推奨する IT ゴロツキのサービスを教育に取り入れたり参入障壁を「自由化」してインチキな「競争原理」を導入するていどのことで、人々が思い焦がれるたぐいの自由は達成されないし創造力は育たないのだ。

ともあれ、せっかくなので話題として取り上げておくと、まずモデル理論の概説書というのは海外でも少ない。mathematical logic の一つとして取り上げている本はあるが、model theory として一冊の概論を展開してる書籍は、もともと Chang & Keisler の Model Theory (Studies in Logic and the Foundations of Mathematics, 73, North Holland, 1990) が長らく定番で、次に僕が所持している Hodges の Model Theory (Encyclopedia of Mathematics and its Applications, 42, Cambridge University Press, 2008) が次の世代の基本書として使われるようになった。現在は、それから Tent & Ziegler (2012) などが出ているが、概して分量が少ないため、大学院生などが集合論と代数系を学んだ後に読むものという印象がある。それから、日本語で読めるものとしては、新井敏康氏の『数理論理学』(岩波書店、2011)が出るまでは、坪井明人氏の『モデル理論』(数学基礎論シリーズ、3、河合教育研究所、1997)という非常に入手し辛い本か、もしくは田中尚夫氏の『公理的集合論』(現代数学レクチャーズ、B-10、培風館、1982)で解説されている箇所を読むくらいしかまともな解説がなかったのだが、このほど板井昌典氏の『モデル理論』(森北出版、2023)が出て、ようやくスタンダードなテキストが幾つか出揃ってきたと言える状況にある。というわけなのだが、現在でも Hodges はモデル理論のテキストの一つとして十分に有効だし、分量としても他を圧倒しているので、圏論のように翻訳を出す余裕がある出版社は、ぜひ Hodges(上の写真では左に並べてある、後から出た short version ではなく右のもの)を翻訳してはどうかとおすすめしておきたい。

で、これらのテキストなどで使われている標準的な用語に従えば、まず「モデル(model)」というのは一定の条件を満たす数学的な構造の一つであって、一般的な言葉遣いとして言われる「モデル」とは意味が異なる。数学以外の多くのシーンでは、「このような事例をモデルとして考えてみましょう」(基準や典型という意味で使われている)とか、「背が高いので、てっきりモデルさんかと思ったよ」(服飾を身につけた様子を体現する職業)とか、どう考えても数学的な構造という意味ではない。特に前者のように何かの話題の基準や典型的な状況として、或る事柄を「モデル」と呼ぶ場合には、他の多くの状況にも似たような特徴が当てはまるかどうかを確かめるための指標や規範といった意味で使われるため、モデル理論で使われる意味合いとは逆になってしまうため、注意が必要だ。

モデル理論では、個々のモデルが基準にする諸条件、つまりモデルが何かの条件を満たす一つのモデルであると言えるための条件のことを、「理論(theory)」という。理論は幾つかの文(sentences)から構成されていて、その文は所定の記号類から定義されている言語(language)において整式(well-formed)として扱われる文字列のことである。ここまででピンとくる方もいるとは思うが、HTML や CSS あるいは ECMAScript の言語仕様でもいいし他のプログラミング言語の(特に JIS などで規定されている言語の)仕様を説明するのと同じような仕組みになっていることに気づくであろう。もちろん、数学的に同じ枠組みを共有して考えられたり発案されたから、記述や説明の仕方が似ているのである。そして、もっと先の話題になると、OOP と同じく「継承」だとか「多態性」といった同じ概念が登場する。

このようなわけで、僕が当サイトで「A はモデルとして B と同型である」と言っている場合には、A と B が何らかの理論、つまり一定の数の文で規定された条件(理論)をどちらも充足していると言っているのである。もちろん、A と B とでは、たとえば記号列として表現されるにあたっての語句が異なるということはありえる。たとえば日本語と英語で別々につくられた表現の一式(集合)などにも当てはまる。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook