| i % 256 ≠ 0 ∧ i < 0, i < 0 ⊦ # (~128 ≤ i ∧ i < 128 ⊃ i2b(i) ' ;(128 ≤ i ∧ i < 256 ⊃ i2b(0) ' + i2b(i - 256) ' ;(~256 < i ∧ i < ~128 ⊃ i2b(~1) ' + i2b(i) ' ;(i < ~256 ∧ i % 256 = 0 ⊃ int2bytes(i / 256) + int2bytes(i % 256).last ' ;(i < ~256 ∧ i % 256 ≠ 0 ⊃ int2bytes(i / 256 - 1) + int2bytes(i % 256).last ';int2bytes(i / 256) + int2bytes(i % 256).last ') ) ) ) ) = 1, i / 256 - 1 = bytes2int ((~128 ≤ i ∧ i < 128 ⊃ i2b(i) ' ;(128 ≤ i ∧ i < 256 ⊃ i2b(0) ' + i2b(i - 256) ' ;(~256 < i ∧ i < ~128 ⊃ i2b(~1) ' + i2b(i) ' ;(i < ~256 ∧ i % 256 = 0 ⊃ int2bytes(i / 256) + int2bytes(i % 256).last ' ;(i < ~256 ∧ i % 256 ≠ 0 ⊃ int2bytes(i / 256 - 1) + int2bytes(i % 256).last ';int2bytes(i / 256) + int2bytes(i % 256).last ') ) ) ) ) .butlast) |
i < 0 ⊦ i % 256 = 0, # (¬ i < ~128 ⊃ i2b(i) ';(¬ i ≤ ~256 ⊃ i2b(~1) ' + i2b(i) ';(i ≠ ~256 ⊃ int2bytes(i / 256 - 1) + i2b(i % 256) ';i2b(~1) ' + i2b(0) '))) = 1, i / 256 = bytes2int ((¬ i < ~128 ⊃ i2b(i) ';(¬ i ≤ ~256 ⊃ i2b(~1) ' + i2b(i) ';(i ≠ ~256 ⊃ int2bytes(i / 256 - 1) + i2b(i % 256) ';i2b(~1) ' + i2b(0) '))) .butlast) + 1
Used simplifier rules: int2bytes-last-01: ⊦ int2bytes(i).last = i2b(i);%int2bytes-byte: ~128 ≤ i, i < 128 ⊦ int2bytes((* i)) = i2b(i) ';% ⊦ i - j = i0 ↔ i = i0 + j;% ⊦ by '.last = by;% ⊦ i ≤ j → (j ≤ i ↔ i = j);%j0 ≠ 0, j ≤ j0 ⊦ i < (* j) → i < (* j0);% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < 0 ∧ 0 ≤ j → i < j;%j0 ≠ 0, j < j0 ⊦ i < (* j) → i < (* j0);% ⊦ ¬ i ≤ j ↔ j < i;