我正在尝试编写一个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