| int2bytes(i % 256) = bytes0 + i2b(0) ', int2bytes(i / 256) = i2b(0) ', 255 < i, 0 ≤ i, 0 < i, i2b(0) ∈ int2bytes(i % 256), ∀ bytes, i0. i→n(i0) < i→n(i) → int2bytes(i0) = i2b(0) ' + i2b(0) ' + bytes ∧ 0 ≤ i0 → false ⊦ |
255 < i ⊦ int2bytes(i) = int2bytes(i / 256) + int2bytes(i % 256).last '
¬ 255 < i / 256, int2bytes(i % 256) = bytes0 + i2b(0) ', int2bytes(i / 256) = i2b(0) ', 255 < i, 0 ≤ i, 0 < i, i2b(0) ∈ int2bytes(i % 256), ∀ bytes, i0. i→n(i0) < i→n(i) → int2bytes(i0) = i2b(0) ' + i2b(0) ' + bytes ∧ 0 ≤ i0 → false ⊦
Used simplifier rules: int2bytes-empty: ⊦ int2bytes(i) ≠ [];% ⊦ 0 ≤ i ∧ 0 < j ∧ 0 < j0 → (i / j) / j0 = i / (j * j0);% ⊦ by ' = bytes + by0 ' ↔ by = by0 ∧ bytes = [];% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1; Used terms: i / 256