| j % 256 = 0, j / 256 ≤ 127, ~128 ≤ j / 256, ~32768 ≤ j, j < 0, ~256 < b2i(i2b(j)), b2i(i2b(j)) < 0 ⊦ |
j ≠ 0 ⊦ i % j = 0 ↔ (∃ j0. i = j0 * j)
Used simplifier rules: byte-mult: ⊦ i2b(i * 256) = i2b(0);%byte: ⊦ b2i(i2b(0)) = 0;%div-mult-num: j ≠ 0, j0 % j = 0 ⊦ (i * (* j0)) / (* j) = i * j0 / j; from specification int-div%one: ⊦ 1 * i = i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%nummult-le-03: ⊦ 0 < i ∧ j < 0 → ((* j) ≤ (* i) * i0 ↔ j / i ≤ i0); from specification int-div%numleledel-01: i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j; from specification int-abs%zero-ls: ⊦ 0 < i → (i * j < 0 ↔ j < 0); from specification int-mult Used terms: 256, j