「ウィーン売買条約第II部」の問合せ10


「ある解釈の元で、申入れは、申込となっているか?」の記述を説明します。

例えば、ある取り引きは以下の慣習があったとしましょう。

	20年来の取り引きで、20年前の申入れの時には物品名を
	書いたが、年一度交わされるその年の申入れには、物品名を
	わざわざ書かない。
このような事例に対して、
	20年前の申入れに物品が示されているなら、その年の申入れも
	物品を示しているとする。
という解釈があったとします。この解釈の元で、 「申入れは、申込となっているか?」を問いたくなったとします。

まず、 Quixote で上記の解釈を記述してみましょう。

例えば、以下のようなルールで記述できます。

	fact::申入れ/[物品を示す=yes] <=
		fact:20年前の申入れ/[物品を示す=yes];;

Quixote では、問合せ時にルールやプログラムを普通の問合せに 付加でき、データベースに付加されたプログラムなどを加えてから問合せを 処理するので、

   「20年前の申入れに物品が示されているなら、その年の申入れも
     物品を示しているとする。」という解釈の元で、
   「申入れは、申込となっているか?」
という問合せは、以下のように記述できます。
	?- def:申込[順番=0];;
	   &program;;
	   &rule;;
	   fact::申入れ/[物品を示す=yes] <=
		fact:20年前の申入れ/[物品を示す=yes];;
	   &end.