我正在嘗試編寫一個Prolog(CLP)謂詞來構建約束兩個列表不等式的約束。列表不等式約束
更正式的,有兩個名單A=[A1,...,AN], B=[B1,...,BN]
約束被定義爲(A1 #\= B1) #\/ (A2 #\= B2) #\/ ... #\/ (AN #\= BN)
。
我不確定如何建立這個約束給出兩個任意長度的列表。這是我的嘗試。我明白爲什麼它不起作用,但無法修復它。
any_different([], []).
any_different([H1|T1], [H2|T2]):-
H1 #\= H2 #\/ any_different(T1, T2).
謝謝。這是我正在尋找的成語。 – mscavnicky