| int2bytes(i).first = i2b(~1), # int2bytes(i) = 1, 0 ≤ b2i(int2bytes(i).rest.first), 128 + i < b2i(int2bytes(i).rest.first), i < ~128, ~256 ≤ i, i < 0 ⊦ n ≤ 1 ↔ ¬ 0 ≤ i + 2 ^ (8 * (n→i(n) - 1) - 1), int2bytes(i).rest = [] |
Used simplifier rules: int2bytes-empty: ⊦ int2bytes(i) ≠ [];%int2bytes-empty: ⊦ int2bytes(i) ≠ [];%int2bytes-minus-one: ⊦ int2bytes(i) = i2b(~1) ' ↔ i = ~1;%int2bytes-byte: ~128 ≤ i, i < 128 ⊦ int2bytes((* i)) = i2b(i) ';% ⊦ by + bytes = by ' + bytes;% ⊦ by ' + bytes = bytes0 → by ∈ bytes0; (forward)% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ # bytes = 1 ∧ by ∈ bytes → bytes = by '; (forward)% ⊦ by ' = by0 ' + bytes ↔ by = by0 ∧ bytes = [];%⊦ bytes ≠ [] → (by = bytes.first ∧ bytes0 = bytes.rest ↔ bytes = by + bytes0); (elim) Used terms: int2bytes(i), by, bytes