l知識ベースの例:
エージェント(名前(a),年齢(20),所得(0),身長(175)).
エージェント(名前(b),年齢(32),所得(800),身長(180)).
エージェント(名前(c),年齢(45),所得(1200),身長(168)).
お金がない (X,Z)
:- エージェント(名前(X),_,所得(Z),_), Z < 10.
若者(X,Y) :- エージェント(名前(X),年齢(Y),_,_), Y < 35.
背が高い(X,H) :-
エージェント(名前(X),_,_ ,身長(H)), H >= 175.
•
l全称仮説テスト(forall/2) 例.「お金のない人は若者であるか?」
?- forall(お金がない(X,_Z) ,若者(X,_Y)). [enterキー ]
Yes
l成功するゴールの収集( setof/3, bagof/3, findall/3 ) ^は存在記号
?- setof(X, A^若者(X,A), Y), setof(W, 背が高い(W,_M), Z).
[enterキー]
Y = [a, b]
Z = [a] (ß条件に存在記号がないので_Mも単一化される)
Yes