MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003.
For current customers, we continue to provide
professional support for IF/Prolog until Dec 31, 2008.
IF/Prologは、ゴ−ルを満たそうとします。ゴ−ルは以下のようなものです。
-単純な述語の呼び出し
?- Goal.
-コンマ','(論理積AND)、あるいはセミコロン';'(論理和OR)によって結合 された任意個の述語
?- Goal1 , Goal2 , (Goal3 ; Goal4).
-以下のように変数に上記のような値を与えると
?- X =.. [';', Goal1(arga), Goal2(argb,argc)], X.
'X'を呼び出すと以下が呼び出されます。
?- Goal1(arga) ; Goal2(argb,argc).
以下の規則を与えます。
herbivore(Person) :- eats(Person, fruit).
herbivore(Person) :- eats(Person, vegetable).
carnivore(Person) :- eats(Person, meat).
Loriが菜食主義者かどうかを調べるために次のゴ−ルが呼び出されます。
?- herbivore('Lori'), not carnivore('Lori').
このゴ−ルを解くためには、','の両側がtrueでなければなりません。
最初に以下のサブゴ−ルのうちのいずれかがtrueでなければなりません。
eats('Lori', fruit)
eats('Lori', vegetables)
そして次のサブゴ−ルは必ず失敗します。
eats('Lori', meat)
よってその親ゴ−ル "not carnivore('Lori')"は、真(true)と証明されます。
|