| dups(mapFun(λ i. i |%| j, ints)), 0 < j, j < n→i(# ints), ¬ dups(ints) ⊦ ∃ i1, i2. i1 ≠ i2 ∧ ≡mod(i1, i2, j) |
0 < j, j < n→i(# ints), dups(mapFun(λ i. i |%| j, ints)) ⊦ # ints = 1, ints = [], dups(ints), ∃ i1, i2. i1 ≠ i2 ∧ ≡mod(i1, i2, j)
Used simplifier rules: zero: ⊦ 0 < m ↔ m ≠ 0; from specification nat-basic1%l: ⊦ # ints = 0 ↔ ints = []; from specification list-data[intlista]%one: ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1); from specification nat-basic1%num-n2i-ls-02: 0 ≤ i ⊦ (* i) < n→i(n) ↔ i→n(i) < n; from specification intnat%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%transitivity: ⊦ i < i0 ∧ i0 < i1 → i < i1; (forward) from specification oelem[intlista]%forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1