allDifferent(A, B, C, D, E, F)
当且仅当 ∀ i , j在 {1, 2, 3, 4, 5, 6} 中,第i个和第j个参数统一当且仅当 i = j时为真。
因此allDifferent(3, 1, 4, 1, 5, 9)
是假的,但却allDifferent(3, 1, 4, 2, 5, 9)
是真的。
如何allDifferent/6
在 Prolog 中实现?
特别是,有没有一种不需要列出 6-choose-2 = 15 个不等式A
≠ B
、A
≠ C
、...、E
≠ F
(或者,更确切地说,是它们的 Prolog 演绎)的方式来表达它?