- 自然言語の文の中のグルーピングは、実に様々な文法規則を援用して実行されている。これはこれ自体精緻なもの。
- しかし誤解するときもあるし、曖昧なときもある。
- logicでは、括弧を使うので無問題。うむ。
- しかし、括弧は邪魔だよね。うぅ。
- そこで強化記号というのを導入する。これがすごい。
- 基本は演算子の優先度で結合。
- 優先度を落したい(すなわち文の区切りとしては大きくしたい)ところに"."をいれる。
たとえば、
p q V r
は優先度から、
(p q) V r
だが、
p . q V r
とすると、
p (q V r)
を意味する。これlispに使えるかなぁ。 - 演算子にもつけられるので、
p -> q . r .V s
は
((p -> q) r) V s
となる。慣れるとすぐ読める。 - ":"という"."よりもさらに弱い(文の区切りとしては大きく)記号もある。
これを使うと、例えば、
s V (p (q -> r) <-> (p V q) r)t
は、
s V: p . q -> r .<->. p V q . r : t
となる。あれ?括弧がある方が見ためでいえばコンパクトかも。
- 基本は演算子の優先度で結合。
- さらにŁukasiewicz の記法。
- これは前置記法なので、Lispと親和性がありそう。
例えば、
s V (p (q -> r) <-> (p V q) r)t
は、
AsKEKpCqrKApqrt
となる。negationはN/1、conjunctionはK/2とかのarityになって、arity以上の文字が続く場合は、それをrestとして引数にしちゃうということ。listで書くと、
(A s
(K (E (K p
(C q r))
(K (A p q)
r))
t))
こんな感じ。arityを固定すると、こんなことができるんだなぁ。 - ドット記法は、Peanoが発明して、Whitehead&Russellに引き継がれたものらしい。
こつこつ。
0 件のコメント:
コメントを投稿