4.3 関数による属性とは何か

 

GALにおいて、「AはBを殴る」とは以下のように表記されます。 
    A.bt(B) 
        bt:殴る
そして、これをA.B.C.・・・という強度の列で表記しますと、 
    A.B.~bt
となります。
この時に、関数はドメインの属性となります。
これをウナギ文として解釈すると、「Aと殴られるBとは関係している」となります。
したがって、「Aと殴られるBとは関係している」が「AはBを殴る」と解釈されることになるわけです。
これがGALの表記であり、この表記方法に、()による表記と強調記号+により、あらゆる文章を表現できることになります。
以下はその例です。 
    A.(B+.~bt†).~hlp† 
        hlp:助ける
        「Aは殴られたBを助けた」 
    C.(A.B+.~bt†).~hlp† 
         「CはAに殴られたBを助けた」 
    C.(A+.B.~bt†).~blm† 
        blm:非難する 
        「CはBを殴ったAを非難した」
GALの表層構造とそれに付帯する表記方法は、上記表記のマイナーバージョンアップのようなものですから、
1つの表層構造で、あらゆる文章を表現できるのは、当たり前です。
ちなみに、GALの通常の表記で上記の例を表現しますと、それぞれ 
    A.hlp†([:bt†=]B) 
    C.hlp†([A.bt†()]B) 
    C.blm†([.bt†(B)]A)
となります。
さて、関数を自然言語において解釈すると使役動詞になるはずでした。
ならば、「A.bt(B)」のbt関数は、自然言語ならば何を使役している動詞になるのでしょうか。
ここでdo関数を導入して、このことを考察してみます。
do関数は、まさに自然言語における使役動詞として解釈されます。
例えば、この考察に、以下の2つの文章を考えてみましょう。 
    A.do([B.run]) 
        「AはBが走っている状態にさせる」 
        つまり「AはBを走らせる」
   ちなみにこれは省略形であり、表層構造で全てを示すと、 
       A.do([B.run(B)=(A|=)])もしくはA.do([B.run(B)=(B|=)])
   となります。 (より精密には、A.do([B.run(B)=(B|=)])=(A|=))
   これは「AはBがBをA(もしくはB)が充足するように走らせている状態にさせる」となります。 
    A.do([B.bt(C)]) 
        「AはBがCを殴っている状態にさせる」 
       つまり「AはBにCを殴らせる」
まず、A.do([B.run])について、考察を始めます。
そこで、A.do([B.~run])がいかに解釈されるかを考えてみましょう。
それは「AはBが走らされている状態にさせる」となりますよね。
しかし、これは結局、「AはBを走らせる」のことになります。
これとウナギ文「A.B.~run」を考えて見ます。
「Aと走らされるBとは関係している」ですが、
この関係は「Aが(何かを)して走らされるBと関係する」とも言えるわけです。
ウナギ文では、うなぎ人間は注文しているのでした。
つまり、「Aが(何かを)する」はまさにA.do()でした。
そこで、「A.do([B.~run])」と「A.B.~run」は同じ意味と解釈できます。
さて、「A.B.~run」を関数で表記すれば、「A.run(B)」です。
結局、以下の表記は全て同じ意味になることが分かりました。 
    ・A.run(B) 
    ・A.B.~run 
    ・A.do([B.~run]) 
    ・A.do([B.run])
この時のrun関数は、自然言語にて明らかに使役動詞です。
一方、A.do([B.bt(C)])に対し、同様の考察を展開してみます。
すると、A.do([B.C.~bt])になります。
勿論、「A.bt(B)」となる文章の一部分でも、ここでは出現してはきません。
ところが、A.do([C.~bt])ならば、これはA.C.~btのことですから、A.bt(C)になります。
したがって、該当の文章が、「A.bt(C)」という記号列を含んだ文になる可能性はあります。
ではBはどうなってしまうのでしょうか?
結論から言いますと、Bはベクター項になります。
なぜならば、ベクター項はGALの表記の中で、まるで日本語の助詞の使用のように、
自由に配置できるからです。
.gv(Flwr→U)という表記を考えます。
これは「花を貴方にあげる」という意味ですね。
では、(→U).gv(Flwr)はどうなるでしょうか?
「貴方に花をあげる」、つまり上記と同じ意味になるわけですし、
日本人の我々にすれば、あまりにも常識的な事実です。
したがって、ベクター項「(→U)」が、強度空間であろうとドメインであろうと、 そして、評価であろうと同じ意味になるわけです。
この理由をざっくり説明させていただきますと、
ベクター項は、実は強度空間が直面している強度空間のことです。
例えば、以下のような書き換えを考えてみるとそれは明らかです。 
    I.gv(Flwr→U) 
        「私は貴方へ花をあげる」 
    (I→U).gv(Flwr) 
        「私から貴方へ花をあげる」
下の文章はものの見事にいわゆる主語がありませんが、GALではそのようなことは気にしません。
意味は通っているはずです。
したがって、強度空間が張ったどの箇所からでも、同じ対象を指し示すことになるわけです。
つまり、以下の表記は全て同じ意味になるはずで、確かに同じ意味です。 
    ・A.do([B.bt(C)]) 
    ・A.do([B.C.~bt]) 
    ・A.bt(C)=(→B) 
    ・A.bt(C+→B) 
        ⇒ここで「+」はベクター項中、ドメインを強調する記号。 
    「AはBにCを殴らせる」
同様な表現に以下があります。 
    A.et(Lnch)=(→B) 
        et():食べる 
        Lnch:ランチ 
    「AはBにランチを食べさせる」
この考察が成立するには、「A.do([B.bt(C)])」におけるBがベクター項になればよいのでした。
では、なぜBはベクター項になるのでしょうか。
それには、ウナギ文的解釈における「A.do([B.~run])」を思い出して下さい。
この時、使役動詞であるdo関数は、「Aが(何かを)して走らされるBと関係する」ということでした。
これは結局、「Aと走らされるBを対応させる」ことと同じです。
一方、ベクター項もまた、ベクターの始点と終点の対応と言えます。
そこで、ドメインに束縛されていない項Bがベクター項になったというわけです。
つまり、以下のような表現はGALでは成り立ってしまうわけです。 
    (A→B).bt(C) 
        「AからBへCを殴らせる」
よって、bt関数は結局、自然言語上は「殴らせる」という使役言語になるわけです。
これが、A.bt(B)で「AはBを殴る」となるのは、省略形を表層構造に戻す場合の、以下のルールとケースによります。 
    ・評価が省略されている場合は、その際の強度空間の強度変換した結果もしくは強度空間を使用したベクター項を補完する。 
    第9パターン’ 
        S.f(D) 
        ⇒S.f(D)=(→S)
つまり、 
    A.bt(B) 
       ⇒A.bt(B)=(→A) 
       「AはA自身にBを殴らせる」 
       ⇒「AはBを殴る」