2009年8月31日月曜日

【MoL】26 Substitution


  • websterによる substitute の意味。(抜粋)
    1 to put or use in the place of another
    2 to take the place of : replace

    日本語でいうと、代替、交代、代用というあたりか。

  • さて、論理学(logical theory)では、the schemata が関心の中心である。
  • しかし最終的に行き着くのは the sentence である。つまり自然言語としてどういうものなのか、ということ。
  • schemata というのは、あくまで sentences を研究するために、それらの logical forms を表現するための仕組みにすぎない。
  • the schemata と それが schematize している the sentences の関係が substitution である。
  • "We get the sentence by substituting in the schema."

  • まず、truth-functional schemata。
  • これは単純。
  • "... just substitute sentences for sentence letters."

  • 次に、Boolean schemata。
  • これも単純。
  • "... substitute general terms for term letters."
  • なお、general terms は objects が true of または false of となるようなものであった。

  • 最後に、quantification。
  • ここで複雑になる。
  • 例えば'Fx'というのは、a variable x を含んでいる未分析な a sentence を表しているからだ。
  • 未分析だからといって、例えば'Fx'と'Fy'にまったく別の sentences を substitute していいというわけではない。'Fx' と 'Fy'に substitute する sentences には共通点がある。
  • 'Fx'と'Fy'は、'Fx'において 'x' が自由出現しているところは'Fy'では'y'になっている。そしてその違いしかない。ざっくり言うとこんな感じ。

    Fx : x is proud of the team.
    Fy : y is proud of the team.

    Fx : x is proud of z
    Fy : y is proud of z

    Fx : x is proud of x
    Fy : y is proud of y

  • ちょっと変わった例、もし、proud of x をいいたいとしよう。すると、
    Fx:x is proud of x
    Fy:y is proud of x
    こうなる。

  • これらを term abstraction を使って、整理してみよう。
  • まず'Fx'じゃなくて、'F'単体を考えることにする。term lettersだ。
  • そして、'F'のterm abstractを考える。上の例は次のようになる。
    {w: w is proud of the team}
    {w: w is proud of z}
    {w: w is proud of x}
  • そしてこれをつかって'Fx'をつくるためにconcretionを実施する。
    {w: w is proud of the team}x <-> x is proud of the team
    {w: w is proud of z}x <-> x is proud of z
    {w: w is proud of x}x <-> x is proud of x
  • さて、term abstracts は今までの真理値分析やらなんやらかんやらで何の役割ももっていなかったが、実はsubstitutionを組み立てるのに中心となる存在だ。
  • term abstractionによる代入のrestrictionsについて。

    • '{w: ∃x(w is proud of x)}' という term abstract について、'Fx'と'Fy'を考える。
      Fx : ∃x(x is proud of x)
      Fy : ∃x(y is proud of x)
      これ、同じものを表していない。
      'Fx' は自分を誇りに思う人がいる、ということをいっており、xについては何もかたっていない。
      'Fy' はxを誇りに思う人があいる、ということをいっている。
    • というわけで、first restriction。
      a term abstract の中でquantifiersが使われている場合、the quantifiersが使っているvariablesは、the abstract の concretion 用 variable としてはいけない。

    • 逆もある。'∀x Fx -> Fy' でまず 'F' に an abstract を substitute することを考えよ。
      ∀x {w: w is proud of the team}x -> {w: w is proud of the team}y
      ∀x (x is proud of the team) ->. y is proud of the team.
      これはよい。

      ∀x {w: w is proud of the x}x -> {w: w is proud of x}y
      ∀x (x is proud of x) ->. y is proud of x.
      これは、だめ。the term abstract の外側の the quantifier に abstract の中の x が捕捉されちゃう。

    • ようするに、abstracts の substitution を考えるときは、quantifiers の variables に捕捉されないように注意せよ、ということ。

  • なんとなく、Quine の論理学において、substitution 周辺がどういう概念整理になっているかは分かった。

    • まず、substitution というのは、schemata を 自然言語(のsentence)に戻すことを指す。または、schemata の利用として、自然言語(のsentence)を作成することを指す。
    • 'p'などの sentence letters は、単に自然言語の sentences で代替(substitute)すればよい。これは substitution。
    • 'F'などの term letters (of Boolean schemata) は、単に自然言語の general terms で代替(substitute)すればよい。これも substitution。
    • 'Fx'などの open sentences は、これを'F''x'と分解し、まず'F'を an term abstract で表し、それを'x'で concretion するもとのする。すなわち、これは substitution だけでなく concretion も含む。

    • substitution とは別に、concretion という概念がある(既出)。Quine の論理学において、variables とは cross-references のための 代名詞 に過ぎない。その代名詞に具体的な name を入れることを、concretion と呼ぶ。(ただし、本に出てくる schemata には、代名詞で concretion していると思えるものもある)

    • され、これらと関係しているのは、interpretation である。
    • interpretation は、ここまででいうと、真理値分析(truth-value analysis)のためのものである。
    • 大枠から言うと、まず、truth-functional schemata の interpretation は、それぞれの sentence letters を実際の sentences に特定することである。なので、上の substitution と同じといっていいのかもしれない。ただし、真理値分析においては、sentences を特定することと、sentence lettersに T または ⊥ に取り替える(supplant)ことは同じであり、真偽値が確定しているものは、これらで代替する。
    • さて、Boolean schemata の interpretation は、universes of discourse と objects を特定した上でできるsentenceをどう真偽値に取り替えるか(supplant)ということである。
      ここで、term letters は objects に対して true/false of となるような言語要素であって、objects を「代入する」というような意味はもっていない。「代入する」を定義していないので、曖昧なのですが、、、
    • variables が bound/unbound(free) というのは、quantifiers に関して、である。なので、プログラミング言語におけるboundとは違うものである。それはどちらかと言えば、interpretationに近い(あくまでどちらかと言えば)。


だんだん自分の中で語彙が整備されてきた感じ。
そういえば、Common Lisp をはじめたときも、語彙が形成されるまではちょっと時間がかかったなぁ。同じようなものか。
こつこつ。

0 件のコメント: