- ベストアンサー
モデルの正式な立場、記述について
- 数理論理学におけるモデルとは何か?その構造としての集合と要素、関数についてのイメージは個人に依存する。
- 無限モデルではイメージ主体のモデルの立場や意味が分からなくなってしまう。モデルの記述では無限の行為を想定していると感じるが、直観的に理解できないこともある。
- 形式体系とモデルは異なるものであるため、モデルの正式な扱いが明確にされていない。モデルとは何を以てなされるべきかが不明確であり、論理学のコンセンサスが必要とされる。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
ANo.7へのコメントについてです。 > 1.確認したいことというのは系、公理系という用語についてなのですが > 体系、系・・・項、式の作り方を示す統語規則、変形規則、といくつかの公理を持つもの > 自然数論、一階論理、IPL、FOL > モデル・・・対象領域を定め関数定数変数記号に割り当てを決めるもの、みかんの例の > ような実装、集合論のような記号変形規則からなる実装 モデルは「ある系Sを使って、別の系Aを実装したもの」。系Sの構成要素や構造と系Aの構成要素や構造との対応付け(解釈)を定めてあって、系Sが系Aの公理を全て満たす、ということです。 > 1+2=3(に関する文字操作)は系といえないでしょうか。 もちろん系です。 > 今ある記号変形規則を持つものをモデルとして扱うか、系として扱うか、 > 考えるかは人間が区別を与えるしかないのではないでしょうか。 違います。 単に系Sだけを取り上げて「Sはモデルか?」と尋ねるのは全く意味がありません。「SはAのモデルか?」と尋ねるのでもまだ不足である。そうじゃなくてですね、具体的なある解釈(つまりSの要素とAの要素との対応付け)をひとつ決めた上で、「Sは、その解釈においてAのモデルか?」ならば意味がある。すなわち、Aの公理がどれも、「Sのある定理を表す文字列をその解釈でAの文字列に変換したもの」として表せるのならyes、さもなくばnoである。ですから、「ある記号変形規則を持つもの」である系Sを「系として扱う」のは当然適切であるけれども、系Sを単独で「モデルとして扱う」ということはできません。 系S、系A、両者を繋ぐ解釈、の3つ(文脈)が揃っていれば、Sを「その解釈においてAのモデル」として扱うことができる。もちろん、系Sを単独で系として扱う際には、「系A、両者を繋ぐ解釈」は無関係でなくてはならない。 たとえば、系A上の操作を、そのモデルである系S上で行う、という場合には、(1)系A上の話をまず解釈によって系Sに移す。(2)それから系S上で具体的な操作を行い、(3)その結果を解釈によって系Aに戻す。(1)と(3)はSを「その解釈においてAのモデル」として扱わねばできないことであり、(2)は解釈が介在したのでは駄目だから(∵もしそうなら、SがAのモデルになっていないことになる)、Sは系として扱われている。(例として、「中学校の幾何学を、ガウス座標系という解釈を介して、ベクトルの代数で実装した」という場合をお考えになっては如何。)なので、人が恣意的に「区別を与える」のではありません。文脈と無関係なら単独の系として、文脈を使うのならモデルとして扱う。当たり前の話だと思いますが。 > あるモデルには関係のないことが別のモデルからは出てくる可能性があると > いうことがあると感じます。 その違いは、抽象である系Aの公理系とは無関係な話として、捨象されるわけです。言い換えると、その違いがもし系Aにおいても違いを生じるのであれば、それらの「モデル」のうち少なくとも一方は正しくモデルになってはいない、ということに他なりません。 系Sがある解釈において系Aのモデルになっている場合、SはAの公理とは全く無関係に成立つ定理をも含んでいるかも知れませんが、それはAからは見えない。系AはあくまでAの公理だけによって定まる系であって、それ以外の制約は受けないからです。 > そのようなイメージや、ある思考を自然だと「感じられること」、正しいと > 「思うこと」が数学において重要ではないのではないかということを言い表 > したかったからです。 確かにそれは、実地において数学者が行う活動において重要です。そういう思考の経過説明と結果の命題とを書き表したときに、【イメージや、ある思考を自然だと「感じられること」、正しいと「思うこと」】に頼る部分が少しでも残っていたら、「思考の経過説明」が証明にはなっていないということです。そういう命題は「予想」と呼ばれます。 逆に言えば、数学の定理(つまり、公理から証明できる命題)の話だけに限れば、【イメージや、ある思考を自然だと「感じられること」、正しいと「思うこと」】は全く無関係です。 > 日常的な意味での(各々の心の中にあるであろう“内容“を解釈した > 結果の)「可算」(心の中とは限らず、各々によって異なるのかも > 立場によると思いますが)と、「可算」を表しているであろう文字 > 列そのものは理解のために区別すべきではないかと思うのです。 > 文字列の意味をとる時には人間がなにかしらの解釈を行っていると > 見えるのです。 理解するために心の中なり、ノートの上なりに描くもの。「文字列の意味」として「なにかしらの解釈」を介して定めるもの。それはひとつのモデルに他ならない、という話は既にしましたよね。(実際、ご自身でも「解釈」とお書きじゃねーですか。) で、モデルSと、そのモデルによって実装される抽象的な系Aとを区別するのは当然のことです。 > 各人の中に「意味」という何かを与えるために、記号列をどう解釈 > するか、どのような理解を標準的とするか、理想とするかはもはや > 数学の範囲ではない その通りです。数学は現実とは無関係であり、さまざまなモデルが可能であり、だからこそ数学は応用が利くのだ、という話を既にしましたよね。 > 真というのは日常語としては各人のイメージ、立場、思想により意味 > が、基準が変わってしまうものと感じていて、しかし「証明可能」と > いうものであれば記号操作によるもので客観的に考えられると見える > ので、客観性を保持するため数学においてはなにが「証明可能」とい > うことを主眼にして考えていく まさしくその通りです。 記号論理や公理主義的数学における「真」は、「この宇宙の絶対的真理」のような宗教的な意味を全く持っていません。「ある文字列が”真”かどうかを判定するための、ある一組の規則を決めた。その規則に従う限りにおいて、この文字列は”真”か否か」というだけのことです。ただのゲームです。そこには「客観的な意味」はおろか、あらゆる「意味」は含まれていません。「意味」が意味を持つのは、系A、系S、両者をつなぐ解釈、から成る文脈があって、系Sがその解釈において系Aのモデルになっているときに限られる。 系Sと系Aがどちらも文字列の系である場合、系S上の文字列sの意味とはsを解釈して得られる系Aの文字列、系A上の文字列aの意味とはaを解釈して得られる系Sの文字列、ということです。 また、系Sが文字列の系ではなく、たとえば図像や物理現象や日常経験の系であるならば、Sは、仰るような「各人」の「理解」のための「イメージ」でもありうる。(ただしその場合、Sが本当にAのモデルになっているかどうか、というところが怪しいのですが。)
その他の回答 (7)
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.6へのコメントについてです。 > 抽象化後において、系として数学の世界におけるルールによって1+2=3となるのも > 実装とはいえないのでしょうか。つまりこの系が持つ記号変形ルールによっても計算 > を実行することはできるように見えるのですが・・・。 > 記号を変形するルールと元の記号(公理)が異なるために結果に違いが発生している これらのご発言から、誤解なさっているポイントがひとつ分かりました。えとですね、算数(”1+2=”という文字列の操作方法)は、少なくともこの場では、数学ではなく、(みかんや算盤と同じく)モデルとして扱っています。 > みかんの例では「ひとつ」と「ひとつ」を合わせて「ふたつ」になるというのは人間が > 実際に確認できる、まさに「正しさ」を持つというか、 > 人間のすること、判断、確認ができるものと思い、計算規則としての実装とは異なる > ものと考えていたのですが、モデルの話としては両者を区別しないと捉えて良いので > しょうか。 文字列の扱い方の規則による足し算の実装(モデル化)は、みかんを数える実装と似ても似つかない。けれども、抽象である数学の側から見ればどっちもモデルに違いない、ということです。すなわち、「足すという操作、1という自然数、2という自然数を、解釈して、実行する仕組みを提供していて、数学が主張する公理を満たす」ような系であれば、解釈・実行の仕方にモデルごとの違いがあっても、その違いは不問に付す。捨象する訳です。 あのみかんとこのみかんが籠の中にあるという認識を、それぞれのみかんを「ひとつ」という言葉、「ふたつ」という言葉と対応付ける、ということによって「ふたつのみかん」と簡約化する。さて、このとき、個別のみかんそれぞれの固有の性質(ヘタがもげてる、傷がある、ちょっと緑色の部分がある、など)はすっかり捨象して、ただ、「同類のものが2個ある」という認識だけを残した。これが「みかんを数える」ってことですから、これもまた抽象化の一例です。仰るところの「まさに「正しさ」」は、この抽象化を自明のものとして認めた上での感想です。つまり、素朴な自然数の概念を当然のように持っている文明(チンパンジーやカラスの文明でも良いのですが)においてしか、「まさに「正しさ」」という感想は出て来ないでしょう。 しかし、この抽象化では、足し算の公理にまでは到達しておらず、たとえば、x+y = y+xということには気付いていない。ですから、「数学の足し算のモデル化」としては路半ば、というところです。 算盤を使う文明に於いてはどうか。筆算を使う文明においてはどうか。どれも同じ事です。 > 解釈、実行というのは記号変形ができることそのものではないのか 違います。みかんや算盤による実装では、記号はありませんから。 > ルールに従って変形しているという点では同じ ここで「ルール」をa ruleの意味で仰っているのなら、その通りです。しかしthe ruleの意味で仰っているのなら違う。なぜなら、どんなルールを用いるかはモデルによって異なるからです。 > 導出結果に対してズレが発生してもおかしくない いいえ。ズレが発生したということは公理を満たさないということ。それはモデルではないということです。 > 集合論も自然数論も抽象化におけるレベルの差こそあれ、どのようなルールを作ると > どのようなことが導出されるのかということをやっているように見えるのです。 全く正しい認識です。歴史的には、「まさに「正しさ」」と感じてしまうほどヒトの認識の枠組みとして定着している素朴な数の概念が、次第次第に発展して自然数論が形成された。公理という考え方は後から導入されたものです。 しかし、(歴史には目をつぶって)公理から数学を体系付けた現代(って2000年以上前からですが)の数学は、100%純粋に、言葉の上だけで閉じた体系である。現実とは無関係なのです。数学がこの立場をはっきりと自覚したのはヒルベルトの形式主義においてですね。で、その観点では、まさしく仰る通り「どのようなルールを作るとどのようなことが導出されるのか」ということ、つまり、ルールを与えることでひとつのゲームを定義したり、そのゲームの性質の分析をやっているのが数学です。 > 非標準モデル > 意図しないモデルというものが存在してくる 「標準モデル」とは、見慣れているモデル、というだけの意味です。見慣れないものを含めて様々なモデルが作れるからこそ、(本来、言葉の上だけで閉じた体系であって、現実とは無関係である)数学が、現実の問題に応用可能であり、そればかりか実際に有用なのだ、ということは既に申し上げました。 > どうして同じ一階の言語で書かれた集合論の方ではその二つを区別できるのでしょうか。 採用している公理系が異なるのでないかぎり、区別はできません。(もし区別出来たら、それは、公理系以外に何か暗黙の規則がこっそり入り込んでいる系である。つまり、それは公理系に基づく系ではないということ。)抽象化によってモデルから独立するのだ、ということをもう一度お考えになれば、自明でしょう。つまり、同じ公理系であれば、どんなモデル(実装)を考えるかということには影響を受けません。 > 少し過激な言い方ですが、たとえば「可算」というのは集合論内のある記号列が導出 > できるということであり、無限個の自然数と1:1対応やあの自然数の持つイメージと > いったこととは直接的には関係ないのではないかと(もちろん集合論の公理による > ネットワークがあるので、無関係ではないはずですが論理の理解というレベルでは > 区別すべきことのように感じます)。 胸に手を当ててよーく反省してご覧なさい。「理解」というものの様式。あるいは「イメージ」と仰るもの。それこそは、ひとつの(不完全な)モデルに他ならない、ということが分かる筈です。(「(不完全な)」という但し書きは、そのモデルが公理を満たすかどうかの検証が欠けている、という意味です。)実際、数学に出て来るいくつかの概念について、ご質問の中で「意味をとることができません」と仰っているのは、その概念のモデルを旨く作れなくて困っている、という意味ですよ。 ところで、ここに引用した一文は、何を仰っているのかが一言一句の単位で分かりません。「論理の理解というレベル」とはどういう意味か。「区別」って何をどう区別するのか。「すべき」という義務・必然性の根拠は一体何か。「あの自然数の持つイメージ」なるものをstomachmanが質問者氏と共有しているとどうしてお考えになるのか、などなど。 数学や論理の話なら明確に。また、哲学の話なら、いわく言いがたいことをなんとか伝えるために要領を得なくてもあの手この手で一所懸命に。いずれにせよ「雰囲気で分かってくれ」は通用しません。
お礼
遅くなってしまい申し訳ありません、いつもありがとうございます、本当に感謝しております。 前回の回答でいただいた 算数(”1+2=3”という文字列の操作方法)は、少なくともこの場では、数学ではなく、(みかんや算盤と同じく)モデルとして扱っています。 いいえ。ズレが発生したということは公理を満たさないということ。それはモデルではないということです。 の部分から私が完全に見当違いをしているのではないかと思うところがありまして基本的なことをいくつが確認してもいいでしょうか。(用語の問題なのですが) 最初に先の内容についての弁解を認めていただければ 「あの自然数の持つイメージ」なるものをstomachmanが質問者氏と共有しているとどうしてお考えになるのか 共有してるとは限らないだろというのは誠にそのとおりだと思います。ただ文字列そのものに現れないなにかをイメージとして持っていること、そのようなものがあるということは確かだろうと思います(ある、持っているということ自体も検討を要すると感じますが)。ただ以下でも書きますがこれを書いた目的は、そのようなイメージや、ある思考を自然だと「感じられること」、正しいと「思うこと」が数学において重要ではないのではないかということを言い表したかったからです。 「論理の理解というレベルでは区別すべきことのように感じます」 日常的な内容を持った数学的な意味合い(7は素数である、素数は無限にあるなど、何でもいいのですが通常の意味を持つ数学)と記号列そのものの導出は、学習の際には私のような初心者にとっては、区別したほうが理解しやすいのではないかというだけの意味で書いたものです。論理を理解する理解しようとする者にとっては例えば「可算」という五に対し、日常的な意味での(各々の心の中にあるであろう“内容“を解釈した結果の)「可算」(心の中とは限らず、各々によって異なるのかも立場によると思いますが)と、「可算」を表しているであろう文字列そのものは理解のために区別すべきではないかと思うのです。 私の考えとしては(しつこく何度も繰り返してしまっていますが・・・)文字列はやはり文字列なのであって、客観的意味(解釈する者独立した意味)というのがあるというのが認められず、文字列の意味をとる時には人間がなにかしらの解釈を行っていると見えるのです。しかし記号列が導出できるかどうかは変形規則なるルールによって決まるので客観的だと感じます。 なので、抽象化した状態を考えていようが、モデルの実装で考えていようが、どちらも記号列が出てくるか否かの議論であって、その内容を意味するところは一応自然な日本語で与えているだけだということではないのでしょうか。各人の中に「意味」という何かを与えるために、記号列をどう解釈するか、どのような理解を標準的とするか、理想とするかはもはや数学の範囲ではないと感じるのです。 モデルというもの、真ということに私がこだわっているのは、真というのは日常語としては各人のイメージ、立場、思想により意味が、基準が変わってしまうものと感じていて、しかし「証明可能」というものであれば記号操作によるもので客観的に考えられると見えるので、客観性を保持するため数学においてはなにが「証明可能」ということを主眼にして考えていくのではないかと思っていたのです。 ただ、数学にも真という言葉はあり、それはモデルというものに関連しているということを知ったのですが 真という言葉の「数学での」意味(日常的に使われるものとは異なると思っています)が初心者用の書籍を見る限りあきらかではないように思え、これもモデルという異なったレベルの体系をつかった証明可能のことではないかと考えているのです。でなければ客観的な意味を保持できないのではないかと(例えば粗すぎる例ですが、有限のものは実際に検証可能ですが無限のものについては厳密な検証するということはできないわけですし)。 ※モデルという体系といいましたが、記号操作ではないモデルもあるということは先の回答で教えて頂いたとおり理解しました、ただ「みかん」の例のような記号操作ではない実装では上に書いた真の意味ということについて異なる立場同士の議論が避けられないと感じます。記号操作の実装を用いること(つまり記号操作によって導出可能か否かということに焦点を絞ることで)でそのような議論を数学の中に持ち込まないことが可能になると考えています。 哲学的な話は避けたいなどと言っておきながら、見返してみるとANo.6だけでなくそれ以前の文章もかなり言葉や書きたいことが尻切れになっていてお恥ずかしい限りです。教えていただけることに対する甘え、おごりが少々強くなっていたようです、自分に明確に書ききる能力が欠如していることに加え、自分の無知を晒したくないといった気持ちからあのような書き方をしてしまっているようです。これからは何とかしぼってきちんと伝わるように考えて文にしようと努力しようと思います。 1.確認したいことというのは系、公理系という用語についてなのですが 体系、系・・・項、式の作り方を示す統語規則、変形規則、といくつかの公理を持つもの 自然数論、一階論理、IPL、FOL モデル・・・対象領域を定め関数定数変数記号に割り当てを決めるもの、みかんの例のような実装、集合論のような記号変形規則からなる実装 で間違っていないでしょうか。 とすると 算数(”1+2=3”という文字列の操作方法)は、少なくともこの場では、数学ではなく、(みかんや算盤と同じく)モデルとして扱っています。 について1+2=3(に関する文字操作)は系といえないでしょうか。モデルと系の区別についてかなり不安があるのですが、それは、以下のようなことのためです。 実装の中でも、記号変形規則からなる集合論のようなものでは何を系、何をモデルというかは抽象化のレベルの差によるもの(集合論は自然数論をモデル化できるものですが、それ自体は系ともいえる)であり、今ある記号変形規則を持つものをモデルとして扱うか、系として扱うか、考えるかは人間が区別を与えるしかないのではないでしょうか。繰り返しになりますが、目の前にある記号列の操作、そのものにはレベルの差や系同士の関係は現れてこないが、モデル側の変形規則も抽象側の変形規則も独立にある文字列を導出していく中に人間が、一方が一方のモデルになっているということを見てとるということではないでしょうか。 2.複数のモデルから出てくることが異なるのではないかということについて 採用している公理系が異なるのでないかぎり、区別はできません。 いいえ。ズレが発生したということは公理を満たさないということ。それはモデルでは ないということです。 モデル側つまり実装側では区別できるのではないでしょうか。例としてあまり適切ではないと思いますが、抽象度をかなり落とした「みかん」と「リンゴ」を考えると前者からはオレンジ、後者からは赤ということが出てくると思うのです。ただ、数の世界にオレンジなどという特徴がないようにリンゴ側にもそのような対応概念はないはずであってこの二つ(オレンジと赤)にはそもそも関係はなく、色という一括りで見えているように感じるのはその二つのモデルの関係を与えた人間からなので、あるモデルには関係のないことが別のモデルからは出てくる可能性があるということがあると感じます。 そして抽象化した公理系から出てくることと矛盾するものは出てこないはずとは思います。 公理系の抽象化した立場では区別できないと思いますが、集合論を使えば抽象度のレベルを落とすことで、公理系内で証明できること以外はどのモデルを使用するかで相対的に導出できることが変わってその結果、区別できるのではないでしょうか。 1.真ということは数学の中でどういうこと、どういう状況を表すのか、2.モデルとはどういうものか、3.モデルと公理系の関係 を伺いたいと思ってきたのですがいつも詳しく教えて頂いて本当にありがたく頂戴しています、ありがとうございます。もう少々で一区切りつきそうだと感じていますのでお時間ありましたらよろしくお願いします。
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.5へのコメントについてです。繰り返しになるけれど。 [1] 実装(モデル化) 「実装」と言っているのは、具体的なモデルで系を実現するということです。小学校1年生の最初にやってる、山盛りのみかんによるモデルでもアリです。 1 ←→ みかんひとつを入れた籠 2 ←→ みかんふたつを入れた籠 3 ←→ みかんみっつを入れた籠 x + y ←→ xとyの中身を同じ籠に入れる x = y ←→ 籠xの中身のみかんと籠yの中身のみかんは1:1対応できる という風に解釈を決める(「実装」する)ことによって、 1+2 = 3 という文字列の意味を確定して、実際に解釈・実行できるようになる。 もちろん、文字列操作システムによって実装することもできます。小学校でも、みかんの次には、文字列操作を使った「計算」を習いますよね。 [2] 抽象化 さて、何らかのモデルがあれば、今度は数学の上で足し算の抽象的な性質を調べることができるようになります。たとえば x+y = y+x ということが分かる。なぜ分かるかと言えば、モデルで与えた意味に従ってこの文字列を解釈すると、正しい主張になっている、と証明できるからです。(ただし、みかんでこれをやろうとすると、高々数十個のみかんしか扱えませんから、x, yの個数に制限が付きます。それでも、あらゆるx,yの組み合わせについて"="の両辺のみかんを1:1対応させる大変な作業になるわけで。)同様にして、この系が満たす基本的なさまざまな性質(これが公理系です)を証明する。できあがった公理系の方から見ると、「その公理系を満たす系が実際に構成可能(モデルを作れる)」ということは「少なくともひとつモデルが存在する」という事自体によって示されている。 すると、公理系は「トニカクその公理系を満たすような系」全部について当然成立つのだから、特定のモデル上の話に限定されることなく、もっと抽象的な意味を持っている。すなわち、たいやきを持ってきても足し算ができる。リンゴでも良い。おまんじゅうについても、"1+2=3"の抽象的な性質(公理系)を利用して計算をする。 その際、モデルがみかんだったかたいやきだったか、という話は忘れていて良くなったということが重要です。抽象化によって、それより下位の実装(モデル)のことは見えなくできる。毎度毎度、実装(みかんであれ、文字列操作であれ)に戻る必要がない。なので、ある系を使って一層上位の系のモデルを構成し、系できあがったらモデルの話を忘れる(抽象化する)、という手順を繰り返すことによって、抽象の階層を幾らでも積み上げることができる。 プログラミングに喩えるなら、機械語でC言語を実装し、C言語でLispを実装し、Lispでprologを実装し、prologでHaskelを実装し、…という風に階層化できる。階層化しすぎると処理速度が遅くなることがあるけれどもメインテナンスはやりやすい。で、数学では処理速度は問題にならないので、メインテナンス(公理系の変更など)がやり易いことが重要。 ですから、大抵の数学の話は、すでに確立した抽象的な系(たとえば複素関数論だとかグラフ理論だとか抽象代数だとか)の上でモデルを構成すること(=定義を述べること)で始める。ただ、新たに、従来書かれている数学書とはかなり毛色の違う話を考える、という場合に限って、階層の底の底のモデルにまで戻って話を始めることがある。(もちろん、必ずしもそこまで戻らなくてもモデルが作れる場合がほとんどで、たとえば、論理学を使う代わりにブール代数が使えるでしょう。) [3] 応用とモデル なにか或る対象について数学を応用する場合には、「或る既知の公理系を、対象分野のモノを使ってモデル化(実装)する」ということこそが、応用の基本原理です。「みかんがひとつあります。ふたつみかんを加えると、全部で幾つ?」という問題を、1+2=3と読み替えるるのは、自然数の足し算をみかんでモデル化するということに他なりません。モデル(みかん)の世界から数学の世界に行って、ナニカやって、またモデルの世界に戻って来ることで、モデルの世界の中での具体的な答が得られる。(なので、答が「3」では落第。なぜなら、これは自然数であってみかんではない。最後にモデルの世界に戻るのを忘れています。)これを再び数学の側から見れば、実装の仕方(モデル)は幾らでもあるということ。だからこそ、数学は広く使えて便利なんです。 (ところで、応用分野に於いては「モデル化」という用語を全く逆の意味に使うという点に注意が必要です。「現象を微分方程式でモデル化する」という風に、数学の方をモデルだと見る。しかもこの時に言う「モデル」とは、「現象の一部分は捨象し、本質的でかつ扱い易そうな部分だけを抽象したもの」ということであって、つまり、近似である、という意味をはっきりと含んでいます。ま、数学に興味があるなら現象の方がモデルであり、現象に興味があるなら数学の方がモデルである。ただそれだけのことなのかも知れません。) [4] 汎用のモデル構築手段としての集合論 みかんやたいやきでは、高々数十個を越えると現実には扱えなくなる。なので、集合論という融通の効く系を使ってモデルを作る。いわば標準モデルを作っておくわけで、これがあれば、あとはみかんでも、リンゴでも、応用目的に合わせてモデルを即席で作れる。集合論とみかんとの対応だけ考えれば済むからです。 さて、集合論でモデル化する系を自然数の足し算に限らず、様々な公理系をできるだけ集合論でモデル化すれば、モデル化の手段として集合論を研究しておくだけで済みます。すなわち、何をモデル化したか、ということには無関係な、集合論に固有の性質(集合論の公理系と定理)を予めよく研究しておくことによって、いざ応用をするという段になった時、モデル化の作業がうんと簡単になる。(これは、「鶴亀算」「旅人算」と別々に研究する代わりに「連立一次方程式」に統一して扱う、というのと似た事情です。) このように、さまざまな公理系を基礎付けるためのモデル化と、現実の問題(現象)に応用するためのモデル化の両方において、集合論は汎用の共通言語になっている。
お礼
詳しい説明いつもありがとうございます。遅くなってしまい申し訳ありません。抽象化の部分で解説していただいた、体系とモデルは独立であるということがとても重要なのではないかと感じ始めています。私は一方が一方に依存しているはずだと間違って強く思いこんできたようです。少々追加で確認したいこと、伺いたいことが出てきましてよろしければ教えていただきたいと思います。 みかんの例では「ひとつ」と「ひとつ」を合わせて「ふたつ」になるというのは人間が実際に確認できる、まさに「正しさ」を持つというか、 人間のすること、判断、確認ができるものと思い、計算規則としての実装とは異なるものと考えていたのですが、モデルの話としては両者を区別しないと捉えて良いのでしょうか。つまり「ひとつ」と「ひとつ」を合わせて「ふたつ」になるということは、ただ記号をルールに基づいて変形し新たな文字列をつくるという計算(たとえば集合論における)以上のものをもっているのではないかと感じていたのですがその差は数学に置いては重要視されないということでしょうか。 抽象化後において、系として数学の世界におけるルールによって1+2=3となるのも実装とはいえないのでしょうか。つまりこの系が持つ記号変形ルールによっても計算を実行することはできるように見えるのですが・・・。ならば集合論も自然数論も抽象化におけるレベルの差こそあれ、どのようなルールを作るとどのようなことが導出されるのかということをやっているように見えるのです。この質問にこだわりすぎているようで毎度毎度しつこくて申し訳ありません、解釈、実行というのは記号変形ができることそのものではないのかと感じこの二つを区別できるのだろうかと何か釈然としない気持ちになってしまいます(もちろんどのルールに従っているかは区別できますが、ルールに従って変形しているという点では同じなのではないかと)。 上に関連して両者とも何らかの変形規則を持つものという立場を取るならその導出結果に対してズレが発生してもおかしくないため、そのズレを検討する必要があるのかと、そこでモデルと系の関係性を考える必要がでてくるということなのかなと思い始めたのですが。そこに有名な完全性定理や非標準モデルといったものが登場してくるのかなと。 上の内容に関連して以下は、哲学にかぶれたド素人が陥るところだと思うのですが、私も例に漏れず陥っておりまして、できたら解説、ヒント等いただければと思います。 ロビンソン算術のような一階の系では標準モデルの他に非標準モデルのように意図しないモデルというものが存在してくるということを良く聞くのですが、どうして同じ一階の言語で書かれた集合論の方ではその二つを区別できるのでしょうか。つまりこれは逆にいうと集合論の側の実装と言語においては標準、非標準モデルは異なった実装を与えられているものだということだと思うのですが、ならば一階の系に抽象化するときにその性質を失わないようにまとめ上げて系を作ることができないのだろうかと感ずるのです。それともその二つの実装を標準、非標準の境をなくしてまとめ上げた方が数学的に役立つ抽象化を行うことができるということでしょうか。 数学の定理を日本語でそのまま理解しようとすることが危険な誤解を生んでいるだけなようの気もしているのですが・・・。すなわち、記号を変形するルールと元の記号(公理)が異なるために結果に違いが発生しているだけであって、それを日本語で意味を取ろうとすると常識やイメージが勝手に強制的にくっついて何やら不思議なことが起こっているように見えるだけではないのかと。少し過激な言い方ですが、たとえば「可算」というのは集合論内のある記号列が導出できるということであり、無限個の自然数と1:1対応やあの自然数の持つイメージといったこととは直接的には関係ないのではないかと(もちろん集合論の公理によるネットワークがあるので、無関係ではないはずですが論理の理解というレベルでは区別すべきことのように感じます)。またまた数学から離れた"哲学お話"になってきて面目ありません・・・自分としてはこれは主眼ではなくこのような話と数学をなんとか分けられるようになりたいと思っているのですが。 毎回要領を得ない質問に答えていただいて、本当にありがとうございます。典型的な間違いや、そもそも質問になってないものがあるかと存じますが時間が許すときがございましたら助けていただければ幸いです。
- stomachman
- ベストアンサー率57% (1014/1775)
まずANo.4の訂正。[1] の > さて、正体が分かった対象を指す手段として、 これは言い過ぎで、 さて、性質が分かっている対象を指す手段として、 ぐらいにしておくべきでした。 で、ANo.4の続き: [5] 「理論」を外から眺めてその性質を分類します。 たとえば、ある「命題」と、その「命題」を「否定」して得られる「命題」の両方が「定理」であることはない「理論」を、「無矛盾」と言う。 あるいは、あらゆる「命題」について、その「命題」と、その「命題」を「否定」して得られる「命題」とのうち、一方が必ず「定理」であるような「理論」を「完全」と言う。 このとき、「定理の集合」「命題の集合」ということを扱う必要が生じます。このために、「理論Xを対象とする数学」、すなわち超X理論を使う。 超X理論から見れば、理論Xはひとつの実装(ひとつの、文字列の統語規則と操作規則のセット)に過ぎません。理論Xと正確に同じ性質を持つ他の理論Yはいろいろあり得るからです。当然、これらの性質だけを使って得た結論は、理論Xという実装に限らず、同じ性質を持つあらゆる実装に於いても成立つ。 さて、超X理論自身も(数学の)理論である。だから、その実装がどうなっているか、と問うこともできます。でも、「その実装は?」「またその実装は?」と無限に連鎖してしまう訳ではない。自然数論で構成された超自然数論は、対象となる自然数論と、それを扱う自然数論とが同一である。こうして話が完結しています。 [6] 数学を現実世界に応用する際に言う「モデル」 こちらは、論理や数学で言うモデルとはまたちょっと違う概念ですね。現実の現象を抽象し(つまり、ある部分を捨象し)た理論Aを考えたとする。で、それを数学上に実装したものがT、ということです。モデルが実装である、ということには違いないけれども、何を実装したかというと、現実の現象Pそのものではなく、その抽象Aである。(これを理論と呼ぶけれども、数学で言う「理論」とはまたちょっと違う(ゆるい)概念です。) Aから見れば、Tは数学上での実装、Pは現実世界での実装です。TはAの具体的な計算手段を提供する装置であり、Tへの入力・出力はAによって意味付けられる。すなわち、Aは「Tの解釈」である。一方、Pは(捨象した部分から来る擾乱がつきまとうので、)近似的な実装に過ぎない。Aはいわば「Pの理想化された解釈」である。 Pから見れば、Aは、何かある特徴に注目してさまざまな現象をひとまとめにし(抽象化し)て命名(すなわち言葉を使って切り分け(分節化))し、さらに、それらの関係をまた抽象化し、こうして現実の現象を体系付けて整理したものである。ただし、全部は整理しきれないので、あくまで近似。現実に生じる様々なことを全部反映してくれるわけではない。 Tから見れば、AやPなんか知った事ではない。
お礼
遅くなってしまって申し訳ありません、いつも本当にありがとうございます、とても助かっております。 先のご回答を拝読したところ、自分に誤解していた部分がかなりあるのではないかと返答をまとめるのに時間がかかりました(というかまとまりきっていないと思われます)。重複する質問、確認をしてしまうかも知れませんが、ご容赦ください。 まず実装というものがなんなのかを私が良く理解できているのかと感じまして。実装とは単に記号に統語規則と構文規則を与えることと考えて良いのでしょうか、(記号列をつくることそして具体的な記号列変換を可能にすることと)。 自然数論と集合論の関係と考えた場合、自然数論側にも(固有のといいますか)統語規則、構文規則(+を'を使ってた帰納的定義によって定義するなど)があるのではないでしょうか(構文論、証明と呼ばれる方の)。a'をそのまま使った実装とa∪{a}と変換した集合論側の実装がありえるということでしょうか。(感覚的な話を許してもらえるならば、モデルの側の計算のほうが具体的なものと考えていました。しかし変換規則に具体的もなにもないのではないのだろうか・・・、ここに発生してくるべきレベルの差というものを理解することができていないのです。) 基礎になるシステムを使った「実装」によって定義を示すについて、 具体的に述語を確定させ場合、その実装の持つ統語規則によってつまり記号変換によって真偽判定がなされるということでしょうか。[3][4]で解説していただいた、述語論理のレベルではモデルは必要なく、その上のシステムが構成される段階で実装としてモデルが出現し真偽判定がなされるというのがどういうことを意味しているのかが理解できていないのです(定義を示すということがいかなる行為であって、その結果何ができるようになるのか・・・。)。回答No.3で書いていただいた部分(「XのモデルMを体系Yで実装する」時のYは理論そのものであり、「YのモデルLを体系Zで実装する」ときのYはただの文字列である、「XのモデルMを体系Yで実装する」という話と、「YのモデルLを体系Zで実装する」という話とは、完全に区別しなくちゃいけない)Yが理論そのものであったり、文字列であったり、それが見るレベル(とでもいうべきもの?)によって異なると言うことがどういうことを言っているのかがしっかり把握できていないためだと感じているのですが。 また、超X理論から見れば、理論Xはひとつの実装(ひとつの、文字列の統語規則と操作規則のセット)に過ぎません。とは 超x理論によってたとえば、一階述語論理のシンタクス側の実装とセマンティクス側の実装が一致することが示されるということでしょうか。 少々変なところに迷い込んでしまったといいますか、結構混乱しています。最初に書いた実装理解が間違っているとすると以下すべてへんちくりんなことを書いてしまったと思います、考えが整理できていないため地に足のつかないチグハグな質問文になってしまい申し訳ありません。お時間ございましたらもう少しおつきあいいただけると幸いです。 とても興味深く、一歩先に進める回答いただき本当にありがとうございました。
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.3へのコメントについてです。 質問者氏の問題意識がだいぶ分かってきた気がします。 [1] まず、論理におけるモデルの話を整理しておきます。 命題論理におけるモデルは、「あらゆるアトムそれぞれについての、あるひとつの付値」ということに他なりません。アトムは幾らでもあるから、ひとつのモデルを記述しようとしたら「Aが真で、Bが偽で、Cが偽で、…」ときりがない。しかし、ある特定の論理式を見る限り、そこに出て来ないアトムにどんな付値がされていても関係がない。だから、その論理式に出て来るアトムだけに限って考えれば良い。(出て来ないアトムに対する付値が異なるモデル同士を(数学で言えば同値類を取るように)同一視することによって、有限個のアトムへの付値だけを分類すれば足りる。それこそが真偽値表です。 そして、論理式を 恒真:あらゆるモデルで真になる(どんな付値をしても真である) 充足可能:真にするモデルがある(ある付値によって真にできる) 恒偽(矛盾):真にするモデルがない(どんな付値をしても偽である) と分類するわけです。 一階述語論理ではどうか。 まず、アトムA, B, …はそのままアトムとして扱うのではなくて、(述語と変数で書かれた)論理式でそれを置き換える。つまり、アトムはそれらの、いわば置き場所(プレースホルダ)に過ぎません。裸のアトムが放置されるということはない。 たとえば 「A⇒B を証明する代わりに 対偶¬A ⇒ ¬Bを証明する」なんて言うのは、「プレースホルダA, Bにそれぞれ置かれる具体的な論理式の真偽値がどうであれ、(A⇒B)⇔(¬A ⇒ ¬B)が保証される」ということを言っている。なぜ保証されるかと言うと、A,Bをアトムだと思って(命題論理の)モデルを考えれば、(A⇒B)⇔(¬A ⇒ ¬B)は恒真である。A, Bの真偽値がどうあれ、これ全体が真であるということには違いない。なので、わざわざ、「アトムA, Bに具体的な論理式を付値する」というモデルは必要なく、単に「アトムA, Bに真偽値を付値する」だけで良い。 逆に言えば、プレースホルダをアトムだと思った上で、命題論理において恒真式かどうかを判定できれば十分である。だから、命題論理のモデル(「アトムA, Bに真か偽を付値する」もの)だけで足りる。 一階述語論理の変数や定数は「対象」を指します。開いた論理式(自由変数を含む論理式)は推論の途中に出て来る訳ですが、そこに含まれる自由変数とは定数のことで、つまり(ホントの正体は不明だがとにかく特定の)対象を指している。しかし、推論規則では、定数がどの「特定の対象」を指しているか、ということによって結論が変わることはない。とは言ってもこれは必然的にそうなる。なぜなら、ホントの正体が不明のある対象と、ホントの正体が不明の別の対象とを区別する手掛かりなど元々ないのだから、「それが何を指しているか、ということによって結論が変わるようにする」ということの方が、そもそも無理。 さて、正体が分かった対象を指す手段として、 εx A(x) がありますね。「 (A( )が文字xを含まない述語ならば、εx A(x)は対象であり、∃xA(x)のときA(εx A(x))が公理」というものですが、ここに出て来るAは「任意の述語」を置くためのプレースホルダです。とは言っても、「任意の述語を変数とする高階論理」を使うのではなくて、単に、「具体的に述語を決めたら、その都度ひとつの公理が出来る」という使い方でのみ使う。潜在的にはさまざまな述語Aに関する無限個の公理があるけれども、個別の状況においては具体的な幾つかの述語についての有限個の公理としてしか使わない。 なので、モデル(「任意の述語」を指すAに、いろんな述語を付値する)という概念を持ち出す余地はありません。(なお、「文字がxの代わりにyだったら?」という心配は無用で、これは束縛されているから、別の文字に取り替えたって同じ事です。) 等号(=)を含む一階述語論理でも、等号について、「任意の述語」を置くプレースホルダを含んだ高階論理式で与えられる、公理のテンプレート(スキーム)が使われる。それはすなわち ∀x∀y((x = y) ⇔ (A( )が文字x, yを含まない述語ならば A(x)⇔A(y))) です。 もちろん、同じ体系を表す公理の与え方は様々あるので、上記はひとつのやりかたに過ぎません。「異なる公理系をもつ体系同士が同一視できる」という事は、すなわち、一方の公理系から、他方の公理系がすべて定理として導ける。逆も言える。だから、両者の理論は一致している、ということです。この証明に際して、論理学におけるモデルに出番はありません。 [2] 次に数学の話。 たとえば、ペアノの公理系における数学的帰納法は、等号で見たような「スキーム」に他ならず、モデルとは関係がない。 対象については、たとえばZF公理系において、空集合∅はひとつの定数である。ただ、 ∀x(x∉∅) という性質によってのみ∅というモノが規定されている。その「ホントの正体」については何も言っていません。「∅に何かあるモノを付値する」のは、数学を現実の世界に応用する際に「みかんがない」という状態を∅と解釈する、ということです。しかしこれは、数学自体には何も寄与しません。なのでモデルの出番はないわけです。 [3] 今度は形式論の方から眺めてみましょう。 与えられた統語規則に従っている文字列は「述語」。与えられた特別な文字は「対象」。「述語」に決まった文字を加えた文字列はまた「対象」。「述語」と「対象」を所定の方法で組み合わせたものは「命題」。ある「命題」を「否定」と呼ばれる文字列操作で変換したものも「命題」。 与えられた幾つかの「命題」は「公理」。また、与えられた「スキーム」と呼ばれる文字列の一部を「述語」で置き換えた文字列も「公理」。「公理」である文字列は「定理」。与えられた「推論規則」(という文字列の変換操作)で「定理」を変換した文字列も「定理」。こうして作る事ができるあらゆる「定理」の全体が「理論」。従って「理論」は文字列の集まりです。 ここで、「否定」と言っているのは単に「文字列を括弧で囲んで左に"¬"という記号を付け加える」という操作に過ぎません。ですから、以上の文字列の話において、真偽の概念は一切出て来ない。 もう少しだけ具体例に踏み込みますと、統語規則によって「命題」(つまり論理式)が作れます。このとき、幾つかの公理(A∧B⇒A, A∧B⇒B, A⇒A∨B、など)あるいは、幾つかの推論規則(A∧BからAを導く、A∧BからBを導く、AからA∨Bを導く、など)を並べておけば、ある「命題」から別の命題を作ることができる。 この命題論理システムにおいて、真偽の概念は不要ですから、従ってモデルという概念も出て来ない。そして、既に見たように、一階述語論理のレベルではもはやモデルの出番はありませんでした。 ですから、結局、文字列だけで完結した話と考えておけば、モデルなんぞ必要ない。 [4] そのような完結したシステムを基礎として、その上にいろんなシステムを「構築」する。その際に (1) 基礎になるシステムを使った「実装」によって定義を示す、というやりかたをすれば、「構築された上位のシステムに矛盾がないかどうか」という心配はすべて、「基礎になるシステムに矛盾がないかどうか」ということに丸投げできる。 (2) 基礎になるシステムから一部の公理を除き、別の公理を追加する、というやりかたをすれば、「構築された上位のシステムに矛盾がないかどうか」とは(a)「基礎になるシステムに矛盾がないかどうか」(b)「追加した公理は、基礎になるシステムから受け継いだ公理と矛盾しないか」 に帰着される。 大抵の数学は話が簡単な(1)のアプローチを使う。自然数論を集合論上で実装してしまう、というのはその一例です。一見普通でない「数」を扱う超準解析学だって、ZF公理系上に実装されています。(2)は、既製の概念を使ったのではどうしても実装ができないような話をするための手段であり、主として数学基礎論の研究でやることです。 数学においては、モデルとはこの実装のことです。ある理論について、(それがどう実装されているか、ということが見えないようにして)ただその性質(定理)だけを書き出せば、それはその理論の公理系になるでしょう(最小の公理系ではなく、他の公理から導ける定理も含んでいるかもしれませんが)。で、その公理系を満たすような他の実装はいくらもありうる。さらに、実装に使う基礎となる体系は、何もZF公理系に限らない。もっと別の体系を使った実装でも構わない。つまり、実装の仕方なんて、どうでも良い。 ですが、ただひとつ、どうでも良くはない点がある。それは、「モデル(実装)が存在する」ということです。どんな実装方法でも良いけれど、とにかくそれが可能である、ということを示せば、上記(1)の話に帰着できるわけです。 (つづく)
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.2へのコメントについてです。 > たとえば集合論内で自然数論のモデルを作ると言った場合、自然数論側の推 > 論規則による記号変形を証明といい、自然数論の記号を集合論の記号に置き > 換え(a'をa∪{a}とするなど)、集合論の公理から「(言語を置き換えた) > 自然数論の公理」を証明し集合論の定理とした上での集合論の推論規則による > 記号変形である記号列が作れるかどうかの判定を真偽判定と言うのでしょうか。 自然数論、すなわちペアノの公理系を公理とする体系Xを考えている。そして、XのモデルM(',N*)を集合論(ZF公理系)Yの上に作るために、たとえばa' = a∪{a}によって ' 演算を「実装」し、「Xにおける自然数全体 ω」のYに於ける対応物N*の集合論中での存在を(もちろん集合論によって)証明する。この証明はN*を実際に構成してみせるのでも良いけれど、存在証明を示すだけでも足ります。すなわち、集合論Yにおいて、N*と'に関して、ペアノの公理系が定理になっている(つまりM(',N*)が実際にXのモデルになっている)ということを証明するんですね。これで、ひとまずωのYに於ける対応物N*がM(',N*)の一部として「実装」されたことになります。 でもこの段階では、N*は一通りに決まった訳ではありません。N*とは単に「集合論Yにおける集合であって、(演算 s' = s∪{s}に関して)ペアノの公理系を満たすようなもののひとつである」というだけの意味です。なので、N*の要素すべてがX理論の自然数に対応しているとは限らず、すなわちN*は、X理論の自然数に対応する要素の他に、余計な要素をいっぱい含んでいても構いません。だから、モデルM(',N*)はXを記述するのに十分だけれども、それ以外の物まで入っているかも知れない。このため、理論Xにおける論理式はすべてモデルM(',N*)における論理式に翻訳できるけれども、逆は必ずしもできない。 このややこしさを解消するために、「ペアノの公理系を満たすような集合全ての共通部分」を考えることによって、「集合論Yにおいて、(演算 s' = s∪{s}に関して)ペアノの公理系を満たすような最小の集合」Nがただひとつ存在することを証明します。すると、このNにはもはや余計な要素は残っていない。なので、XとM(',N)が完全に同一視できる。これらの理論同士が同型(isomorphism)になった訳です。X上で論じたこと(論理式)とM(',N)上で論じたこと(論理式)とは、全て互いに翻訳可能であり、だから、X上で行う証明と、M(',N)上で行う証明とは、常に正確に対応していることが保証できます。 (ちなみに、同じ集合論(ZF公理系)上で、M(',N)とはまた別の、自然数論Xのモデルも作れます。たとえば、理論Xの数xを集合の順序対 x = <L, R> (すなわち、x={L, {L,R}})に対応付けるというやり方がある。実は、この方法を使うと、自然数、整数、有理数のみならず、無限小や無限大をも「数」として含むシステムが自然に構成できるんです。が、これは道草。) ところで、もし「理論Xのモデルは決して作れない」ということが証明できたとすると、「Xは矛盾した理論である」ということが分かったことになります。 > 集合論側の記号解釈(たとえば⊂は包含を、∈は帰属を意味するといったような) > に関してはいまだこの段階ではなされない、すなわちただの記号列のままという > ことでしょうか。 「考えているレベルが違う」とでも申しましょうか、「XのモデルMを体系Yで実装する」という話と、「YのモデルLを体系Zで実装する」という話とは、完全に区別しなくちゃいけない。というのがすっきりした見方です。それぞれのレベルにおいて、対象となる理論はただの文字列として、モデルは実装側の体系内の存在として考える訳です。だから、「XのモデルMを体系Yで実装する」時のYは理論そのものであり、「YのモデルLを体系Zで実装する」ときのYはただの文字列である。(コンピュータで別のコンピュータのシミュレーションをする話を思い出して下さい。) ところが厄介な事に、「XのモデルMを体系Xで実装する」ということが可能である。この事情のため、レベルの区別が付かなくなっちゃうんです。(そして、これこそが不完全性定理のミソです。)
お礼
ありがとうございます。お早い回答、本当に感謝いたします。 おかげさまでモデルと体系の関係について未熟ながらも整理がつきつつあります。 ですが、いくつかお聞きしたいことがさらに出てきてしまいまして、できればご教授お願いします。 (以下、自分としても本意ではないのですがもしかすると少々数学そのものからは離れるかも知れません、ご了承ください。) 「対応物N*の集合論中での存在を(もちろん集合論によって)証明する」「モデルは実装側の体系内の存在として考える」というのは集合論側、実装側の理論ないし体系は、体系内の存在を考えるということから意味、内容をもったものとして(このレベルでは)捉えられるということでしょうか。 しかし目の前には(実装側の)文字列とその構成ルールしかないはずです、各人がこの文字列がいかなるものの存在を意味し、いかなるものがこの体系内に存在するのかを判断するにはこの文字列を解釈しなければならないと感じます。特に無限個の要素を含む自然数全体に対する相当物があるという判断は(文字列に意味を与えるということにおいては当然とは思うのですが)なんというかイメージの世界や頭の中で行われるのだろうかと考えてしまうのです。 文字列からどういった意味を取り出すのか、いかに解釈するのかは各人に任せられて、それが一致しているということでしょうか。もしくは自然な解釈というものを厳密に決定することが可能でしょうか。 そのように考えるといつも、要素の存在はどこにあるのか、関数はどこにあるのか、述語の意味はどこにあるのか、モデルはどこにあるのかなどと言いたくなってしまうのです・・・。 誤解されるかも知れませんが私は哲学的な話がしたいのではなく哲学的なお話から抜け出したいのです、それが今回の質問をした根っこの方にある動機なのですが・・・。 数学が、意味と表示ということについて個々人のイメージや受け取り方を排し厳密さを確立するために戦略として体系、記号列を導入したと考えていたのですが、モデルの存在というものは個々人の意味解釈とでもいうようなものを再度もたらしたりはしないのでしょうか。 お時間に余裕があってもし気が向くときがあれば、よろしくお願いします。
- stomachman
- ベストアンサー率57% (1014/1775)
どのみちキチンと勉強なさることになると思うんで、細かい話はパスしようと思います。 要するに「モデル」というのは、「適当な解釈を固定すると、公理系を実際満たしているような具体例になっている構造物」ということ。たとえば、「1+1」を「みかんが1つあります。ここにみかんを1つ加えたら、合わせて幾つありますか」という意味だと考える。みかんなら実際に数えることができて、「1+1」の答が出せる。これが最も素朴な意味での「モデル」です。(しかし、「1兆+1」を計算するのはみかんでは不可能。) 「記号論理のモデル」という考え方は「自然言語の論述に現れるパターンを整理したもの」としての論理に対して、その論理自身の性質を研究するに先立って、厳格な意味を定めるための仕組みです。 以下、ごく大雑把な話ですけれども:まず「論理」の形式言語をひとつ固定します。そのあらゆる式(つまり、文法的(統語論的)に正しい文字列)を集合Mの中に対応させる写像を考える。この写像ρによって「解釈」が定まります。このようなMとρ(と、実はその他まだ仕掛けが幾つか必要なんですが、それらをまとめて「枠(frame)」と呼ばれます)によって、いわば形式言語の式を「解釈実行(interpretation)」するんです。で、ある式Eが解釈実行できる「枠」のことをEの「モデル」と呼ぶ。 すでにご存知でしょうけれども、最も簡単な例として、命題論理の場合、ρはアトムについては付値を行い(すなわち0か1を対応付け)、演算に関してはブール代数を満たすように構成することで、命題論理の解釈を定めることができる。たとえば A∧(¬A) という式がρによって ρ("A∧(¬A)") = ρ("A") × ρ("¬A") = ρ("A") × (1-ρ("A")) と写像されたとすると、どんなρを持ってきても(つまりρ("A")が0であっても1であっても)ρ("A∧(¬A)")=0。つまり「恒偽」である。また、命題論理を「必然」□と「可能」◇の演算子を持つ様相論理(可能論理)に拡張すると、他の演算に関する規則は固定して付値だけをいろいろ変えたρをそれぞれ世界(world)と呼んで、式Eがあらゆる世界で充足されることを□E、式Eを充足する世界が存在することを◇Eと表す。この場合、"□E"と"◇E"を「世界の集合」への写像ρ'によって解釈している。このような写像を決めることによって、"□E"と"◇E"の意味を(「自然言語の論述に現れるパターンを整理したもの」なんて曖昧な意味じゃなく、厳格に)定めた訳です。 数学が論理の上に乗っかってできあがっている、その論理を数学で記述された「モデル」で解釈するというのは、堂々巡りのように思われる。でもこれは、あるコンピュータXのソフトウエアMで別のコンピュータYの命令の動作をシミュレーションするのと同じことであり、そう考えれば別段おかしな話ではない。 数学の対象として「論理という文字列」を扱う(数理論理学)際には、対象としての論理(文字列)Yと、それを扱う数学の論理Xとを厳格に区別する必要があるのは当然のことです。一般に××理論Yを理論X上のモデルMで扱うアプローチが「超××理論」です。特に「超数学」では対象Yが数学自身である。正確には、数学のある理論(たとえば自然数論)Yを数学Xでモデル化する。クルト・ゲーデルは、一階述語論理Yを対象として、これを一階述語論理Xでモデル化し、一階述語論理Yが完全であることを証明しました(ゲーデルの完全性定理)。また、自然数論Yを対象として、これを自然数論Xだけでモデル化し、そのモデル化では「対象である自然数論Yが完全であること」を証明するのは不可能だということを示しました(ゲーデルの不完全性定理)。しかし、モデル化に使う数学Xとして超限順序数も扱える体系を使えば、自然数論Yが完全であることが証明できます。(不完全性定理については、岩波文庫に原著論文の翻訳があり、もちろん幾多の解説書もあります。「超X理論」をX自身で構成する、という自己参照の本質と面白さを実に巧みに解説した名著としてダグラス・ホフスタッターの「ゲーデル・エッシャー・バッハ」があります。) 残る問題は、コンピュータXのハードウエアが実在しているのに対して、「超××理論」を記述する数学(や論理)Xには実体が見当たらないということです。 すなわち、ご指摘の通り、そのモデルもまた別の形式言語で表された文字列に帰着します。(このあたりを突き詰めて行くうちにゲーデルは神について考えるようになり、心を病んでしまいました。) 結局のところ、実在するモノに関する理論(物理学などの経験科学)と形式主義的数学とは、全く断絶している。たとえば、現実に実在する実体において「1+1=2」が成立つのは、この式が成立つような対象と解釈に於いてだけです。すなわち、1ccの水と1ccのアルコールを混ぜ合わせると2ccにはならない(1+1<2)。1個のおもちともう1個のおもちをくっつけると、大きいけれども1個には違いない(1+1=1)。そういうものの計算には自然数を使ってはいけない。では、どんなものになら使えるのかと問えば、「使えるものにだけ使える」という答しかない。経験で区別するしかないのです。 逆に言えば、現実世界にモデルを求めるのをやめて言語の中に閉じこもることによって、数学はあらゆる現実とは縁を切った。その結果、(物理の「法則」はいつ反例が発見されるかもしれない儚いものですけれども、)数学の定理は永久に定理であり続けられる訳です。
お礼
簡潔で詳細な解説本当にありがとうございます。ご挨拶が遅くなってしまって申し訳ありません、教えていただいたことを自分の中で何とかかみ砕いて飲み込むのに時間がかかってしまいました。 回答をいただいて2,3日考えてみたのですが、さらにいくつかお聞きしてもいいでしょうか。 たとえば集合論内で自然数論のモデルを作ると言った場合、自然数論側の推論規則による記号変形を証明といい、自然数論の記号を集合論の記号に置き換え(a'をa∪{a}とするなど)、集合論の公理から「(言語を置き換えた)自然数論の公理」を証明し集合論の定理とした上での集合論の推論規則による記号変形である記号列が作れるかどうかの判定を真偽判定と言うのでしょうか。 また「実体が見あたらない」と言う部分についてなのですがモデルもまた記号列に帰着するというのは、上の例で言いますと自然数論の真偽判定は集合論によってなされるが、集合論側の記号解釈(たとえば⊂は包含を、∈は帰属を意味するといったような)に関してはいまだこの段階ではなされない、すなわちただの記号列のままということでしょうか。(この段階などという曖昧な日本語を使うのをお許しください。) 以上は、先の質問よりもおかしなように解釈しているのではないだろうかと不安が強いのですが。 私は数学記号が使えず、すべて日本語で書いてしまい、わかりにくい文言になってしまって申し訳ありません。 お時間ございましたらお答えいただけるとありがたいです。このたびは回答本当にありがとうございました、とても助かりました。
- itshowsun
- ベストアンサー率41% (15/36)
こんばんは。 この質問に直接回答してもいいのですが、 残念ながらそれはかなりの分量になります。 また、数学の基盤的かつ本質的な考え方を含むため、 それらの考え方を定義し、説明しなければなりません。 これは一冊の本になるでしょう。 面倒でしょうが、ご自分で、基礎数学の 「一階述語論理」(特に意味論) 「モデル理論」 を勉強した方がもっとも良い道だと思います。 簡潔ですが、ウィキペディアにも上の項目があります。 以上です。
お礼
回答ありがとうございます。おっしゃるように私が伺っていることはの範囲は広くそれを学ぶには書籍等で体系的に学ぶべきということは理解しているのですが、いわゆる数理論理学の指南書においては上で質問したモデルと公理系の関係、モデルの説明のようなものはさらりと流されているような気がするのです。つまり私の聞いていることは一般的な数学の本道、関心事からずれているようで、そのような記述を持つ本、数学書を拝見したことがありません。さらにお願いを追加して恐縮ですが、そのようなことが書かれた適当な教科書、本があればできれば具体的な書籍名を教えていただければと思います。 貴重なご意見ありがとうございました。
お礼
間を空けてしまい、失礼しました。いつも本当にありがとうございます。今回いただいた回答で私が不安に思っていたところのかなりの部分が納得できました。 確かに系を単独で取り上げモデルか否かと問うのはできませんね、当然のことながらかなりの期間思い至らず勘違いしておりました。 系と系とをつなぐ「解釈」(おろらく文字列を一方から一方へ移し合う規則)自体も数学として「意味」を抜きにして検討するとことができるのですね。 数学を他の分野の議論から独立させるため正式には文字列操作に対象をしぼって意味を取り除いたにもかかわらず、それで普通の意味での数学を展開するのに十分であるというのはまとこに驚くべきことだと感じます。 これ以上は個別的な話になってくると思うので自分の方で少しずつ勉強していきたいと思います。 長い間貴重なお時間を割いていただきありがとうございました、とても学ぶところがあり勉強になりました。本当に有意義な時間をありがとうございました。 (No.8をBAにさせていただくこととします)