| i1 + 2 = i2 * 2 + j0 ∧ j0 ≤ 0 ∧ abs(j0) < 2 ∧ i2 ≤ 0 ∧ 0 < 2 ∧ i1 + 2 < 0, i2 = i0 + 1, i1 < ~3, i1 < 0 ⊦ i0 / 2 = i1 / 4 |
i0 < 0, j0 ≤ 0, abs(j0) < 2, 2 * i0 + j0 < ~3, 2 * i0 + j0 < 0 ⊦ i0 / 2 = (2 * i0 + j0) / 4
Used simplifier rules: numlsf: ⊦ i < (* j) ∧ j < 0 → i < 0; (forward) from specification int-basic1%forward-le-04: ⊦ j ≤ i ∧ i ≤ 0 → j ≤ 0; (forward) from specification int-abs%forward-le-02: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward) from specification int-abs%numlslsdel: j0 ≠ 0, j < j0 ⊦ i < (* j) → i < (* j0); from specification int-basic1%numls-03: ⊦ i + (* j) < (* j0) ↔ i < j0 - j; from specification int-abs%mone-05: ⊦ i ≤ ~1 ↔ i < 0; from specification int-abs%numle-03: ⊦ i + (* j) ≤ (* j0) ↔ i ≤ j0 - j; from specification int-abs%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%eq-succ: ⊦ i * (i0 + 1) + j = i + j0 ↔ i * i0 + j = j0; from specification int-mult