| n→i(m) % j = n→i(n) % j, n→i(m) + n→i(n) < j, 0 ≤ j, m < i→n(1 + (j - 1) / 2), n < i→n(1 + (j - 1) / 2), prime(j), n→i(m) ≤ (j - 1) / 2, n→i(n) ≤ (j - 1) / 2, 1 < j, 0 < j, 0 < n→i(m) + n→i(n) ⊦ countFun(0, (j - 1) / 2, λ i. i ^2 |%| j) = [], j = 2, m = n, ~1 = (j - 1) / 2 |
⊦ abs(i) < j → i % j = i
abs(n→i(m)) < j, n→i(m) = n→i(n) % j, n→i(m) + n→i(n) < j, 0 ≤ j, m < i→n(1 + (j - 1) / 2), n < i→n(1 + (j - 1) / 2), prime(j), n→i(m) ≤ (j - 1) / 2, n→i(n) ≤ (j - 1) / 2, 1 < j, 0 < j, 0 < n→i(m) + n→i(n) ⊦ countFun(0, (j - 1) / 2, λ i. i ^2 |%| j) = [], j = 2, m = n, ~1 = (j - 1) / 2
Used simplifier rules: abs-02: ⊦ abs(n→i(n)) = n→i(n); from specification intnat%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%forward-lele: ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1; (forward) from specification int-abs%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-le: ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward) from specification int-abs%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs%nat2int: ⊦ 0 ≤ n→i(n); from specification intnat%num-n2i-ls-02: 0 ≤ i ⊦ (* i) < n→i(n) ↔ i→n(i) < n; from specification intnat%zero: ⊦ 0 < m ↔ m ≠ 0; from specification nat-basic1%one: ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1); from specification nat-basic1%ls: ⊦ i + j < j ↔ i < 0; from specification int-basic2%nat2int-08: ⊦ ¬ n→i(n) < 0; from specification intnat%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2 Used terms: j, n→i(m)