8

多くの Prolog システムにはfreeze/2述語があります。この述語は、geler/2Prolog-II よりも前に発明されたので、おそらくその名前を持つべきです。

同じ変数に条件があると仮定しますが、2 つの異なる目標があります。

 ?- freeze(X, G1), freeze(X, G2), X=1.

G1 が最初に実行されるか、G2 が最初に実行されますか? G1 と G2 が新しいフリーズを生成し、それも起こされたらどうなるでしょうか。

 G1 :- freeze(Y, G3), Y=1.
 G2 :- freeze(Z, G4), Z=1. 

G3 または G4 は常に G1 と G2 の間で実行されますか? それとも、G3 または G4 は G1 と G2 の後、または後で実行される可能性がありますか?

さよなら

4

1 に答える 1