different/2 - does a pure, determinate definition exist?

后端 未结 8 1029
野的像风
野的像风 2020-12-07 00:24
different(Xs, Ys) :-
   member(X, Xs),
   non_member(X, Ys).
different(Xs, Ys) :-
   member(Y, Ys),
   non_member(Y, Xs).

While this definition usi

8条回答
  •  温柔的废话
    2020-12-07 00:54

    Let's take it to the limit---by the help of list_nonmember_t/3, exists_in_t/3, and or_/2!

    some_absent_t(Xs,Ys,Truth) :-
       exists_in_t(list_nonmember_t(Ys),Xs,Truth).
    
    different(Xs,Ys) :-
       or_(some_absent_t(Xs,Ys),
           some_absent_t(Ys,Xs)).
    

提交回复
热议问题