0
我有一個序列(seq)的數字。如何實現一個數字序列,每個連續的對增加到4?
我想每增加一個連續的對數字的平等4
下面是我在實施這一嘗試。但是,這是錯誤的。該合金分析表明我這是錯誤的,通過生成這種情況下:
2, 2, -2, 4
第一對增加4(2 + 2 = 4)
第二對沒有。 (2 + -2 = 0)
什麼是正確的實現方式?注意:我需要使用序列(seq
),所以請不要更改簽名或其字段。我希望你能告訴我正確的方式來表達fact
。或者,告訴我,如果使用seq
,則不可能實施。
one sig Test {
numbers: seq Int
}
fact {
all disj n, n': Test.numbers.elems {
(plus[Test.numbers.idxOf[n], 1] = Test.numbers.idxOf[n']) =>
plus[n, n'] = 4
}
}
run {#Test.numbers.indsOf[2] > 1}
哇!非常感謝Aleksandar。絕妙的解釋! –