我的版本对学生的姓名、年龄、出身和学科感兴趣。
solve :-
length(X, 6), % there are six students
member([manuel, 19, _, _], X), % Manuel is 19 years old
member([_, 20, _, win], X), % 20 years old student studies win
...
但是有些规则我不知道如何在Prolog中实现。例如:
奥利弗比数学学生大两岁,但比来自华盛顿的学生小两岁
我如何创建一个规则来比较这样的年龄?
member([oliver,OLIVER_AGE,_,_],X) ,
member([_,MATH_AGE,_,math],X) ,
member([_,WASHINGTON_AGE,washington,_],X) ,
OLIVER_AGE is MATH_AGE + 2 ,
OLIVER_AGE is WASHINGTON_AGE - 2