6.3 λ表記


ここで「6.2 []表記」に出てきたマトリクスでの表記について再度確認しましょう。
[]表記<>表記{}表記の併用で以下のように記述できるのでした。
[<No,A列,B列,C列,D列,E列>]{<1,あ,い,う,え,お>,<2,か,き,く,け,こ>,...}
つまり、、[<〜>]{<〜>,<〜>,...}の形式で表現されるものは、マトリクス(テーブル)ですよ、
というGALのルールです。
この時、GALにおけるうなぎ文の発想から、この記述形式がマトリクス(テーブル)を示すものとして、
『修飾する言葉,修飾される言葉』が順序性を持って並べられていることが、関係を持っているのでした。
そして、その関係性はマトリクスであると直観的に理解すること、
これは、「私はうなぎです」ということを注文のことだと日本語を直観的に理解することと同じです。
したがって、このマトリクスであるという場合において、
(つまり、うなぎ文においては、ここが飲食店である、という場合において)
『修飾する言葉,修飾される言葉』は、『列,値』と直観的に理解されることになりますね。
ところで、なぜ、ここで、修飾する言葉は列だと認識されたのでしょうか。
それは、まずマトリクスであるという場合において、我々は直観的に以下のようなものを想定していたからです。

No,A列,B列,C列,D列,E列
 1,あ ,い ,う ,え ,お
 2,か ,き ,く ,け ,こ
,...

ということは、上記の記述形式を見て、「No,A列,B列,C列,D列,E列」の下に「 1,あ ,い ,う ,え ,お」を補うと、
直観的に理解したことになりますよね。
そうすると、次のことも直観的に理解したことになりますよね。

この場合の[]表記、[<No,A列,B列,C列,D列,E列>]は以下のことである。
 No,A列,B列,C列,D列,E列
___,___,___,___,___,___

ここで、___記号で示されたものは、単語を埋めるべき場所(DummyLetter)です。

これと同様な事柄が、[]表記の以下の時にも起こっています。
[I.gv†(___→U)]
    「私が貴方にあげた」
つまり、修飾される言葉が一項の場合は、そもそも自然言語上でも、DummyLetterを使用しているわけで、
この我々の自然言語に備わっている習慣を[]表記は使用しているわけです。
そこで、この習慣を拡張して、
[.bt†()]<A,B>.escp†(→Town)
は、
[___.bt†(___)]<A,B>.escp†(→Town)
として、表現が可能というわけです。
ですが、当該文は、「殴った順序対A,Bは、街へ逃げた」として、自然言語では意味が通らなくなってしまいます。
これは、修飾される言葉が一項の場合よりも複雑なケースに口語として対応しないから、人間の習慣にない訳です。
よって、人間の習慣にない表現ですから、誤読される可能性もあります。
それを避けるためには、世界表記で使用するインデクス記号を用いて、DummyLetterを表記しなければならないかもしれません。
[#1.bt†(#2)]<A,B>.escp†(→Town)
なるほど、これで意味は通るかも知れませんが、より複雑な記述内容に対しては、
インデクス記号では対応しきれないかもしれません。
そこで、一層のこと変項記号を使用して、この事態に対応しようというのが、λ表記です。
λ表記では、上記は以下のように記述されます。
[λxy.x.bt†(y)]<A,B>.escp†(→Town)
または
λBxy.x.bt†(y)
[λB]<A,B>.escp†(→Town)
    この時、λBは関数であり、強度空間を入力とし、文を出力する。
    λB(A,B)は、「A.bt†(B)」つまり「AはBを殴った」である。
さらに、当該文をλ表記しますと、以下のようにも記述できるわけです。
[λxy.x.bt†(y)]<A,B>λxy.{x,y}.escp†(→Town)
または
λBxy.x.bt†(y)
λExy.{x,y}.escp†(→Town)
[λB]λE(A,B)

 

6.3.1 不完全文

6.3.2 λ抽象と関数適用

6.3.3 項出力と文出力

6.3.4 n項λ関数

6.3.5 モーダスポネンス応用形

6.3.6 項出力と強度について