表層構造の対応関係を「=」から別のものを使用することで、間単に比較を示す文が作成できます。
例えば「彼女は私より彼を選ぶ」は、
She.slct(He)>>I
・slct:「選ぶ」
となります。
「私は彼より背が高い」という比較はGALでどう表現されるでしょうか。
これを表現するのにGALでは、型記号を使います。
まず、「私は背が高い」という表現は以下のようになります。
I=Tall
・Tall:「背が高い」
GALでは、このような「背が高い」という性質を、型として使用できます。
型とはコンピュータ言語などで使用されるもので「int x」とは、「整数としての変数」を示します。
コンピュータの世界では、変数にいろいろな種類のデータを入れることができますが、
整数型が決まった変数に、整数以外のデータを入力したらエラーが表示されるわけです。
GALは日常世界そのものをあらわす言語ですので、変数のようなものはありません。
ですから、実際に存在するものに対して、型を使用します。
GALの型は、存在するものから型で示した概念を出力(抽出)するように働きます。
つまり、(Tall:He)という表記は、「彼の背の高さ」を示します。
「私は彼より背が高い」とは、私は「彼の背の高さ」より、より強い性質がある、と言っているわけです。
そこで以下のような表現となります。
I>>Tall:He
「Tall:」という表記は、「He」の性質の型付けをするのと同時に、
「>>」という対応関係を「背の高さについて」で、修飾しているようにも見えます。
省略しない表層構造における比較の例を、以下に示します。
I.thw(Bll)>>Fst:He
・thw:「投げる」
・Bll:「ボール」
・Fst:「速い」
これで「私は彼より速くボールを投げる」となります。
単に「私は速くボールを投げる」は、以下のような表現になりますので。
I.thw(Bll)=Fst