| 0 < j, j < n→i(# ints), ∃ m, n. m < # mapFun(λ i. i |%| j, ints) ∧ n < # mapFun(λ i. i |%| j, ints) ∧ m ≠ n ∧ mapFun(λ i. i |%| j, ints)[m] = mapFun(λ i. i |%| j, ints)[n] ⊦ # ints = 1, ints = [], dups(ints), ∃ i1, i2. i1 ≠ i2 ∧ ≡mod(i1, i2, j) |
ints[m] |%| j = ints[n] |%| j, n < # ints, m < # ints, j < n→i(# ints), 0 < j ⊦ m = n, ints = [], # ints = 1, dups(ints), ∃ i1, i2. i1 ≠ i2 ∧ ≡mod(i1, i2, j)
Used simplifier rules: l: ⊦ # ints = 0 ↔ ints = []; from specification list-data[intlista]%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%map-at: ⊦ n < # ints → mapFun(intfun, ints)[n] = intfun(ints[n]); from specification intlist%map-length: ⊦ # mapFun(intfun, ints) = # ints; from specification intlist