ゆくゆくは有へと

おかゆ/彼ノ∅有生 の雑記

述語の外延的意味における分配性とか

関連

iuk.hateblo.jp

いんとろ

形式言語では大体、表示的意味論を使いますよね。つまり、その意味論においては、述語記号はそれを満たすような対象のn-tupleのあつまりとして解釈します。オブジェクトレベルの言語が複数指示系のとき、メタ言語に単指示系を使うなら  {(2^{F_D})}^n, 複数指示系を使うなら  {D}^n な n-tuple です。*1

前回の記事でようやく複数指示系の言語の感じが掴めたので、述語の分配性と集団性について考えていくことにします。簡単のため、今回扱う述語は1項述語に絞ります。

ここでちょっと注意なんですが、複数指示系で使われる "and" と "among" が集合(やメレオロジー)の対応するものと違うことをはっきりさせるために、手書きでは僕は

among
f:id:waraby0ginger:20160525181127p:plain:w50

and, と
f:id:waraby0ginger:20160525180440p:plain:w50

っていうよくわからない記号*2を使っています。パソコンではそれらは使えないので、"and" には「と」を、"among" には「⊂」を使うことにします。

一応言っておくと、"aとb" というのは、"a"が指示する対象と "b"が指示する対象をともに指示するような記号のことです。決して、"aとb" に対して何か抽象的な存在者が1つあるわけではありません(メレオロジーのようなね!)。

ことば

分配的 distributive というのは、「xがFだ」という述語に対して「aとbとcがFだ」が真だったときに、「aがFだ」「bがFだ」「cがFだ」も成り立つような述語 F のことです。 つまり、

(1) [∀x : F(x)][∀y : y ⊂ x] F(y)

なる F のことです。ですが、この式は、「aとbとcがFだ」ならば「aとbがFだ」も真だというようなことも含みます。さっき言ったのより強いですね。忠実には

(2) [∀x : F(x)][∀y : y ⊂ x ∧ π(y)] F(y)

とすべきかもしれません。ここで1項述語 π「xは1個だ」というのを導入しました*3

ひとまず、(1) を強-分配的、(2)を弱-分配的と呼ぶことにしておきます。

で、個人的にはこういう性質にも触れておきたい:

(3) [∀x : F(x) ∧ ¬π(x)][∃y : y ⊂ x ∧ x ≠ y] F(y)

つまり、「aとbとcがFだ」ならば「aとbがFだ」とか「aがFだ」とか少なくとも1つが成り立つってことです。強分配性では aとbとc にamongなもの(a, b, c, aとb, bとc, cとa, aとbとc)はすべて Fでないといけませんが、(3)ではすべてではなく、どれか1つでもFであるならOKです。この性質を準-分配的と呼ぶことにします。

で、もうひとつ、累積的 cumulative というのにも触れておきたく:

(4) [∀x : F(x)][∀y : F(y)] F(xとy)

これは、分配性の逆みたいなものです。

れいじ

んー、なんかこの3つの性質は全部同じものなんじゃ…って思えてくる。でも例えば、

  • xは5kg以上だ
  • xは5kg未満だ

というのを考えてみるよ。aは3kgで、bは2kgとすると、「aとbは5kg以上」だけど「aは5kg以上」でなければ「bは5kg以上」でもない。ので、これは分配的ではない。

これに 1kgなcを加えると、「aとbとcは5kg以上」だけど、aとc、bとc はすべて5kg以上ではない。aとbだけは5kg以上。

というわけで、個体領域Dについて aとbとc ⊂ D とすると、述語 F「xは5kg以上だ」の外延的意味は、

I(F) = <aとbとc> と <aとb>

になる。これは強弱とわず分配的ではない。さらに、準-分配的でもない(F(aとbとc)に対してF(aとb)はあるけど、F(aとb)に対するのがないからね)。 でも、累積的ではある!なぜなら、aとbとaとbとc というのは aとbとc のことで、これは確かに F を満たすからだ。

じゃあ述語 G「xは5kg未満だ」はどうでしょう?さっきと同じ個体領域で話をするよ。すると、

I(G) = <a> と <b> と <c> と <aとc> と <bとc>

となりそうです。累積的ではないことは明らかです。強分配的ではある。弱分配的でもある。準分配的でもある。

んー。でも、本当にこの外延的意味は正しいのかしら。aもbもcもそれぞれが5kg未満なら、「aとbとcは5kg未満だ」も分配読みをしてやれば、<aとbとc> も外延的意味に入るのでは?

確かに。これはつまり、外延の様子から逆に分配読みの可能性というものを探れるってことではなかろうか。述語 G は、複数指示をする項の分配読みができないような述語だということになります。

大事なのは、その述語が分配的であることと、その述語が分配読みできることは別だってことです。その述語が分配読みできるとき、次の統合原理に従います。

(5) [∀x : F(x)][∀y : F(y)] F(xとy)

もし、述語Gの変種で、分配読み可能であるようなもの G' を考えると、その外延意味は

I(G') = <a> と <b> と <c> と <aとc> と <bとc> と <aとb> と <aとbとc>

ということになります。さて、(5)の統合原理とよんだものは、累積性の定義と全く同一です。ということは、述語の(単純なn-tupleの)外延意味からは、分配読み可能性と累積性を区別することができないってことです。たとえば、<aとbとc>が述語の外延意味にあったとしても、それが分配読み可能性からきたものなのかどうかというのが分かんないわけです。えっとつまり、F(aとbとc)の真偽というのが F(a)∧F(b)∧F(c)からの推論の結果なのかどうかが分かんないのです。

あれ?しかも、集団性について全く語っていないぞ!困った。

ほうこうてんかん

少し頭を切り替えて、こう考えれば上手く行く気がしてきました:複数指示系の言語では、述語そもそもの意味に加え、真偽評価にさらされる場合は準分配要請が課されると。

どういうこと?さっきまでは述語の外延意味というのはただ1つだけ用意して、その中であーだこーだ言っていました。ここからは、述語の基本的な意味と、それを真偽評価上の要請を満たすよう調整した拡張的な意味の2つに分けてみよ~ということです。

たとえば、述語 F の基本意味

I(F) = <a> と <b> と <bとc>

とすることにします。基本意味にあるのは、最も素朴な意味です。たとえば、さっきの重さ 3kg a, 2kg b, 1kg c な3つの対象について述語F「xは4kg未満だ」を考えてみます。 そうすると、この述語の基本意味は確かに <a> と <b> と <bとc> となります。

さて、では基本的ではない意味ってなんなのか?ってことです。それは基本意味にはないけれど、準分配要請を考えると真とみなすべき指示(のtuple)のことです。 準分配要請というのは何でしょう?たとえば、いま F(a) と F(b) がそれぞれ真だというのは基本意味から明らかですが、このとき F(aとb) も真であるとすべきではないですか? また、F(a) と F(bとc) が真なのなら、F(aとbとc) も真であるとすべきだと思うんです。アリスが(一人で)その机を持ち上げ、それからボブとカーラが(一緒に)その机を持ち上げていたなら、「アリスとボブとカーラはその机を持ち上げた」ことになります(よね?)

なので、いま言ったような含意によって作っていった「実質的な」述語の外延意味のことを拡張意味と呼ぶことにします。

(6) F(a) ∧ F(b) ⇒ F(aとb)

このような手続きを  \delta関数で表すことにしましょう!とすると、

δ(I(F)) = <a> と <b> と <bとc> と <aとb> と <aとbとc>

ってことになります。基本意味に加え、そこから生成された <aとb> と <aとbとc> が新たに加わっています。

実はもう少し厳密にいうと、こうなります:

(7) I(F) ⊂ δ(I(F)) ∧ [∀x : x ⊂ δ(I(F)) ∧ π(x)][∀y : y ⊂ δ(I(F)) ∧ π(y)] <β(x)とβ(y)> ⊂ δ(I(F))

えっと、まず関数βは、tuple からその中身を取り出します。今回は 1-tuple ですが、n-tupleに対しての場合は、β_n とかにすればいいかと思います。

順番に説明していくと、まず、拡張意味は基本意味を含みます。それから、拡張意味から任意の2つ(tuple)を取り出して、その2つの中身(指示)からなる tuple も拡張意味になければなりません。

こういう二項演算子を作ってみますか?:

<a>ど<b> = <aとb>

「ど」はtupleに関する「と」のマッピングですな。これを使えば、

(7') I(F) ⊂ δ(I(F)) ∧ [∀x : x ⊂ δ(I(F)) ∧ π(x)][∀y : y ⊂ δ(I(F)) ∧ π(y)] xどy ⊂ δ(I(F))

になります。

ちなみに、この「ど」は引数に複数指示的な記号が来たらどんな挙動をするのでしょう? 分配的な関数とするのがいいでしょうかね。つまり、

(<a>と<b>)ど<c> = <a>ど<c> と <b>ど<c> = <aとc>と<bとc>

としてやるわけです。「ど」の分配的性質を使うと、

(7'') I(F) ⊂ δ(I(F)) ∧ [∀x : x ⊂ δ(I(F))][∀y : y ⊂ δ(I(F))] xどy ⊂ δ(I(F))

とできて、πの条件を省けます。これはつまり、δ(x) というのは x を起点とし、二項演算「ど」について閉じているということですね。

いずれにせよ、この(7), (7'), (7'') に従えば、δ(I(F))が生成できます。試しにやってみましょう。

I(F) = <a> と <b> と <c>
δ(I(F)) = <a> と <b> と <c> と <aとb> と <bとc> と <cとa> と <aとbとc>

I(G) = <a> と <b> と <aとb>
δ(I(G)) = I(G)

I(H) = <a> と <b> と <aとc> と <bとc> δ(I(H)) = I(H) と <aとb> と <aとbとc>

さいこう

というわけで、述語の基本意味、そして基本意味から生成し二項演算「ど」について閉じているような意味、拡張意味の2つの観点から、分配性・集団性について見ていきます。

その前に、今まではこれらの性質は述語の性質だと言ってきましたが、実は述語の性質というよりは「項の述語の満たし方」の性質です。 ですから、述語本体に備わっている性質ではなくて、項と述語の間に備わる性質です。 ので、たとえば、「aとbとc は述語F を分配的/集団的に満たす」とかそういう言い方になります。 以下では、述語Fにそういう満たし方があるかどうかというところをまず見ていこうかと思います。

集団性

述語Fに集団的な満たし方があるとは、その基本意味に非個な指示対象をもつ意味があることを言います。つまり、

(8) 述語Fに集団的な満たし方がある iff [∃x : x ⊂ I(F) ∧ π(x)] ¬π(β(x)) iff ¬[∀x : x ⊂ I(F) ∧ π(x)] π(β(x))

たとえば、

  • I(F1) = <a>と<b>と<c> なる F1 は集団的な満たし方がない
  • I(F2) = <aとb> と <cとd> なる F2 は集団的な満たし方がある
  • I(F3) = <a> と <aとb> なる F3 は集団的な満たし方がある

Q. 「完全に集団的」というような性質も登場できない?

いけそうですね。えっと、つまりこういうことですよね?

(9) 述語Fが完全に集団的である iff [∀x : x ⊂ I(F) ∧ π(x)] ¬π(β(x))

上の例だと、F2だけが完全に集団的であるということになりますね。こういう場合は述語に集団性を帰属させてもいいかもしれませんね。 つまり、ふつうはこのような述語Fのことを「集団的だ」と呼ぶことにします。

・・・・・

ここが何より大事なポイントなんですが、集団性というのは、述語の基本意味に関連するものであり、拡張意味は全く関与しません。 裏を返せば、述語の基本意味というのは、その述語がどんな項によって集団的に満たされるのかを記述していると言えます。

一応書いておきますが、「述語Fに集団的な満たし方がない」とは、さっきのやつの否定です。

(10) 述語Fに集団的な満たし方がない iff [∀x : x ⊂ I(F) ∧ π(x)] π(β(x))

これも、述語の性質として帰属できそうです。つまり、(10)が成立するような述語Fのことを「非集団的な述語」と呼ぶことにします。

分配性

集団性のときと同じように進めていきます。

(11) 述語Fに分配的な満たし方がある iff [{su'o re}x : x ⊂ I(F)] [∀w : w ⊂ x ∧ π(w)] π(β(w))

もう少しまともな書き方ができるかもしれない…。{su'o re} は「2つ以上ある」という量化子です。例をば

  • I(F1) = <a>と<b> のとき、F1は分配的な満たし方がある
  • I(F2) = <a> と <aとb> のとき、F2は分配的な満たし方がない
  • I(F3) = <a> と <b> と <bとc> のとき、F3は分配的な満たし方がある

さて、なぜ、述語の基本意味に、個で満たす意味が2つ以上あれば分配的な満たし方が可能なのでしょう? そもそも分配的に満たすとは、「aとbとcがFである」とき、「aがFである」「bがFである」「cがFである」というそのそれぞれもFであるということが成り立つということです。 もう少し厳密にいえば、「aとbとcがFである」が分配的なものだというのは、その真が「aがFである」「bがFである」「cがFである」から推論されるものだということです。

つまり、結局のところ、分配的な満たし方があるというのは、拡張意味に2つ以上の個で満たす意味から生成されたものがあるということです。

F1とF3 の場合、<a>と<b> から <aとb> という意味が拡張意味に追加されます。この<aとb>による真というのはまさに基本意味の<a>と<b>からくるものです。

一方、F2 では δ(I(F2))=I(F2) で、個で満たす意味が1つしかない場合、分配的な満たし方のできる意味が生成されません。

というわけで、分配性というのは本来は拡張意味のところで生じるものですが、実質的に基本意味の範疇だけで判断できます。

Q. 「完全に分配的」っていうのもやっぱりあるよね?

あります。ただし2つのパターンが考えられます。 1つは、どんな複数指示の項による満たしも基本意味からの推論によるものでしかないということ。 もう1つは、どんな複数指示の項による満たしも基本意味からの推論によるものでありえるということ。

1つ目のほうは簡単に定義できます:

(12) 述語Fは完全に分配的(その1)である iff [∀x : x ⊂ I(F) ∧ π(x)] π(β(x))

つまり、完全に分配的(その1)とは、基本意味がすべて個で満たす意味からなっているということです。

もう1つのほうは、1つ目よりは弱い条件です。集団で満たす意味を持っていてもいいですが、その集団のそれぞれの個で満たす意味も持っていなければなりません。

(13) 述語Fは完全に分配的(その2)である iff [∀x : x ⊂ I(F) ∧ π(x)][∃y : y ⊂ I(F)] (β(y) = β(x) ∧ [∀w : w ⊂ y] π(β(w)))

ここで、関数βは分配的とします。つまり、β(<a>と<b>) = β(<a>) と β(<b>) とします。

(12)が成立するような述語を「強分配的な述語」と呼び、(13)が成立するような述語を「弱分配的な述語」と呼ぶことにしましょう。 強分配的な述語は「純粋に分配的」です。つまり、集団的な満たし方がありませんので、非集団的な述語でもあります。 一方で、弱分配的な述語では集団的な満たし方は存在しますが、そのような項を満たすとき、必ず分配読みと集団読みの両方が可能です。

・・・・・

ちなみに、もちろん、非分配性も定義できます。

(14) 述語Fに分配的な満たし方がない iff [{su'e pa}x : x ⊂ I(F)] [∀w : w ⊂ x ∧ π(w)] π(β(w))

{su'e pa} は「1個以下」ということです。このような述語を「非分配的な述語」と呼ぶことにします。 個で満たす意味を全く持っていないとき、その述語は完全に集団的です。 ただし、非分配的な述語は個で満たす意味を1つだけ持っている場合もあるので、その場合は完全に集団的というわけではありません。


そんなこんなで、分配的/集団的な満たし方があるとはどういうことかが分かりました。さきほど、分配性/集団性は満たし方の特性だと言いました。

というわけで、「項が分配的/集団的に述語Fを満たす」ことについて記述していきましょう。とはいえ、さっきのやつのちょっとした変形です。

(15) 項 a が分配的に述語Fを満たす iff <a> ⊂ δ(I(F)) ∧ [∃x : x ⊂ I(F)] (β(x) = a ∧ [∀w : w ⊂ x] π(β(w)))

(16) 項 a が集団的に述語Fを満たす iff <a> ⊂ I(F) ∧ ¬π(a)

(17) 項 a が非分配的に述語Fを満たす iff <a> ⊂ δ(I(F)) ∧ ¬[∃x : x ⊂ I(F)] (β(x) = a ∧ [∀w : w ⊂ x] π(β(w)))

(18) 項 a が非集団的に述語Fを満たす iff <a> ⊂ δ(I(F)) ∧ ¬(<a> ⊂ I(F) ∧ ¬π(a)) iff <a> ⊂ δ(I(F)) ∧ (¬<a> ⊂ I(F) ∨ π(a))

この4つから、分配的と非分配的が同時に成り立たないこと、集団的と非集団的が同時に成り立たないことがわかります。 一方、分配性と集団性、分配性と非集団性、集団性と非分配性、はそれぞれ同時に成立することがわかります。

例をば。

  • I(F1) = <a> と <b> と <aとb> のとき、aとbはF1を分配的かつ集団的に満たす。
  • I(F2) = <a> と <b> のとき、aとbはF2を分配的かつ非集団的に満たす。
  • I(F3) = <a> と <aとb> のとき、aとbはF3を非分配的かつ集団的に満たす。
  • I(F4) = <aとb> と <bとc> のとき、aとbとcはF4を非分配的かつ非集団的に満たす。

4つ目について丁寧にみていきます。まず、δ(I(F4)) = <aとb> と <bとc> と <aとbとc> です。

非集団性のほうですが、<aとbとc> ⊂ δ(I(F4)) であり、<aとbとc> ⊂ I(F) ではないことから分かります。

次に、非分配性のほうです。<aとbとc> ⊂ δ(I(F)) は明らかです。
¬[∃x : x ⊂ I(F)] (β(x) = aとbとc ∧ [∀w : w ⊂ x] π(w)) についてみていきます。ですがこれもほぼ自明で、今回

¬[∃x : x ⊂ I(F)] [∀w : w ⊂ x] π(β(w))

が成立しません。よって、非分配的です。(証明おわり)

もうひとつ、1つ目を見ていきます。δ(I(F1)) = I(F1) です。集団性は明らかです。分配性はというと、

<aとb> ⊂ δ(I(F)) ∧ [∃x : x ⊂ I(F)] (β(x) = aとb ∧ [∀w : w ⊂ x] π(β(w)))

論理積の前件は明らかに真です。後件はというと、x=<a>と<b> をえらべばOKなので真です。なので分配的でもあります。

ちなみに、項が単指示な場合はどうでしょう?たとえば、F3をaで満たすとき。
π(a)なので、集団的ではありません。一応確認しておくと、 <a> ⊂ δ(I(F)) かつ π(a) ですから、非集団的です。 そして、確かに分配的ですから、単指示的な項は述語を分配的かつ非集団的に満たします。

累積的

累積性は項の述語への満たし方ではなく、述語の性質です。

(19) 述語Fが累積的である iff [∀x : x ⊂ I(F)][∀y : y ⊂ I(F)] xどy ⊂ I(F)

たとえば、すぐ上でやった F1 と F3 は累積的です。

この式の形、どこかで見たことありますね。あー、(7''')です。準分配要請も同じような形でした。ですから、

(19') 述語Fが累積的である iff δ(I(F)) = I(F)

とも書けます。I(F)が演算「ど」について閉じていることを累積的と呼ぶわけですね。

あら!ずっと前では累積的であることと、分配読みであることは区別がつかないなんてことを言っていましたが、基本意味と拡張意味を分離してやることで両者は区別がつくようになりました!

完全的

(20) 述語Fが完全的である iff [∀x : x ⊂ I(F) ∧ π(x)][∀y : β(y) ⊂ β(x) ∧ π(y)] y ⊂ I(F)

たとえば、I(F) = <a> と <b> と <aとb> なる述語Fは完全的です。

完全的な述語は、累積的でもあります。つまり、δ(I(F)) = I(F) です。さらに(完全に)弱分配的でもあります。また、弱集団的でもあります*4

というわけで、完全的な述語では、項が述語を満たすとき、それは分配的かつ集団的なものになります。たとえば「xは1個以上だ」は完全的です。

おわり

前半部分は迷走してしまいましたが、結果的に外延的意味論で分配性/集団性はきちんと扱えることが分かりました。やったね。

概して、分配性に関する記述は比較的複雑になってしまいました。何かいい感じの関数を取り入れると、もっとスッキリ書けるようになるかもしれません。

また、今回は述語の基本意味、それから準分配要請を満たす拡張意味の2つを使いましたが、もう少し自然なアプローチがあるように思います。 とはいっても、今回論じたことと同じ構造を持っていることは確かでしょう。そのアプローチに従えば、分配性の記述もスッキリするかもしれません。

ここまで書いて思ったことなんですが、「分配性」って推論のほうに追いやったほうがよくない?具体的にいえば、今回作った拡張意味ってやつ。あれに当てはまるようなやつも真だということにしたんですが、あの拡張意味の生成過程はまさしく推論なわけですから、あそこは意味論に組み入れるんじゃなくて、推論のほうに組み入れたほうがよさそう。(6)を推論スキームとして採用するわけです:

(6) F(a) ∧ F(b) ⇒ F(aとb)

分配性(厳密には準分配性)っていうのは単に「と」に関する推論に基づいた真のことになります。実際これでよさそう。この立場では、項が分配的に満たすとは、分配推論を用いて真である(厳密には、単指示的な項による意味のみを用いての分配推論)ということであり、非分配的に満たすとは分配推論によって真が得られないということです。集団的な満たしについては変わらず。こうすると、単指示的な項で満たすのは集団的かどうかとかその辺りの調整は必要ですけどね。分配性と集団性が同じ土俵で語られなくなりますが、そもそも同じ土俵にいるべきなのか?という問いの発信にもなりそうです。

I(F) = <a> と <b> と <bとc> のとき、F(aとbとc)は、

  • F(a)
  • F(bとc)

の2つからの推論の帰結として得られます。まー、どっちでもいいような気はします。

◆追記 2016/5/26
(7), えっと、δの定義のところなんですが、βが分配的であることを使うともっとキレイに書けそうですね。

(7s) [∀x : x ⊂ I(F)] <β(x)> ⊂ δ(I(F))

めっちゃ簡潔…!もちろん、累積的の定義も簡単にかけることになる

(19s) 述語Fが累積的である iff [∀x : x ⊂ I(F)] <β(x)> ⊂ I(F)

それから、分配的な満たし方があることも直観的に書けそう。

(11s) 述語Fに分配的な満たし方がある iff [∃x : x ⊂ I(F) ∧ [∀w : w ⊂ x ∧ π(w)] π(β(w))][∃y : y ⊂ δ(I(F))] y = <β(x)>

分配性関連の論理式は「[∀w : w ⊂ x ∧ π(w)] π(β(w))」がすごい長くて面倒なんですよね。これを μ(x) とでもおいてやれば

(11s') 述語Fに分配的な満たし方がある iff [∃x : x ⊂ I(F) ∧ μ(x)][∃y : y ⊂ δ(I(F))] y = <β(x)>

となって、かなりスッキリするんですけどね。でも全体的に僕の書いた論理式は π が多いし、βとか上手く使うともっと簡潔になる気がする。

*1: {D}^n というのはn個の対象からなるn-tupleという意味ではなく、n-tupleの中にある記号が  Dにある対象を指示するという意味です。この辺りの扱いは関連記事に書きました。

*2:amongの記号はロジバンの{me} から凜花の m を回転させたもの、andの記号は「と」をつづけ字っぽくしたものです。

*3:これは、π(a) ⇔ [∀x : x ⊂ a] a ⊂ y で定義できます。

*4:弱集団的な述語の条件については上で書いていませんでした。上で述べたのは強集団的です。弱集団的とは、どんな複数指示の項による満たしも集団的なものでありえるということです。