| int2bytes(i % 256) = by + bytes ∧ int2bytes(i % 256) ≠ [], 2 = # int2bytes(i % 256), i < ~128, i < 0 ⊦ bytes = int2bytes(i % 256).last ' |
1 = # bytes, int2bytes(i % 256) = by ' + bytes, i < ~128, i < 0 ⊦ bytes = (by ' + bytes).last '
Used simplifier rules: int2bytes-empty: ⊦ int2bytes(i) ≠ [];% ⊦ by ∈ by0 ' ↔ by = by0;% ⊦ by ∈ bytes + bytes0 ↔ ¬ ¬(by ∈ bytes ∨ by ∈ bytes0);% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;%n0 < n ⊦ (* n) = m0 + (* n0) ↔ n - n0 = m0;% ⊦ # by ' = 0 +1;% ⊦ #(bytes + bytes0) = # bytes + # bytes0;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ by ' + bytes = bytes0 → by ∈ bytes0; (forward)% ⊦ by + bytes = by ' + bytes;