| prime(j), ∃ j0. 0 ≤ j0 ∧ j0 ≤ (j - 1) / 2 ∧ j0 ^2 |%| j = i, i ∈ countFun(0, (j - 1) / 2, λ i. (~1 - i ^2) |%| j) ⊦ j = 2, ∃ i, i0, j0. 1 + i ^2 + i0 ^2 = j0 * j ∧ 0 < j0 ∧ j0 < j |
0 ≤ j0, j0 ^2 |%| j ∈ countFun(0, (j - 1) / 2, λ i. (~1 - i ^2) |%| j), j0 ≤ (j - 1) / 2, prime(j), 0 ≤ j ⊦ j = 2, ∃ i, i0, j0. 1 + i ^2 + i0 ^2 = j0 * j ∧ 0 < j0 ∧ j0 < j
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%sub-le-01: ⊦ i ≤ j - i0 ↔ i + i0 ≤ j; from specification int-abs%div-two-zero-01: ⊦ 0 ≤ i / 2 ↔ ~1 ≤ i; from specification int-div%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs