| i < ~128 ∨ 128 ≤ i, #(int2bytes(i >> 8) + i2b(i)) = 4, int2bytes(i >> 8) + i2b(i) = by ' + by0 ' + by1 ' + by2 ', by2 ∈ int2bytes(i >> 8) + i2b(i), by ∈ int2bytes(i >> 8) + i2b(i) ⊦ i = b2i(i2b(i)), by = i2b(i >> 24) ∧ by0 = i2b(i >> 16) ∧ by1 = i2b(i >> 8) ∧ by2 = i2b(i) |
int2bytes(i >> 8) = by ' + by0 ' + by1 ', 3 = # int2bytes(i >> 8), by1 ∈ int2bytes(i >> 8), by ∈ int2bytes(i >> 8), i < ~128 ∨ 128 ≤ i ⊦ i = b2i(i2b(i)), by = i2b(i >> 24) ∧ by0 = i2b(i >> 16) ∧ by1 = i2b(i >> 8)
Used simplifier rules: in-14: ⊦ by ' + bytes = bytes0 → by ∈ bytes0; (forward) from specification list[bytelist]%in-15: ⊦ bytes + by ' = bytes0 → by ∈ bytes0; (forward) from specification list[bytelist]%in-17: ⊦ by ∈ by0 ' ↔ by = by0; from specification list[bytelist]%in-append: ⊦ by ∈ bytes + bytes0 ↔ ¬ ¬(by ∈ bytes ∨ by ∈ bytes0); from specification list[bytelist]%app-06: ⊦ bytes + by ' = bytes0 + by0 ' ↔ bytes = bytes0 ∧ by = by0; from specification list[bytelist]%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%add-num-04: n0 < n ⊦ (* n) = m0 + (* n0) ↔ n - n0 = m0; from specification nat%a: ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1; from specification list[bytelist]%len-02: ⊦ # by ' = 0 +1; from specification list[bytelist]%len: ⊦ #(bytes + bytes0) = # bytes + # bytes0; from specification list[bytelist]%Last: ⊦ bytes + by = bytes + by '; from specification list[bytelist]