| # int2bytes(i >> 8) < 3 ∧ 0 ≤ bytes2int(int2bytes(i >> 8)), 2 = # int2bytes(i >> 8), mklist(i2b(0), 3 - # int2bytes(i >> 8)) + int2bytes(i >> 8) = by ' + by0 ' + by1 ', 128 ≤ i, 0 ≤ i >> 8, 0 < i, 0 ≤ i ⊦ i = b2i(i2b(i)), by = i2b(i >> 24) ∧ by0 = i2b(i >> 16) ∧ by1 = i2b(i >> 8) |
int2bytes(i >> 8) = by0 ' + by1 ', 0 ≤ i, 0 < i, 0 ≤ i >> 8, 128 ≤ i ⊦ i = b2i(i2b(i)), i2b(0) = i2b(i >> 24) ∧ by0 = i2b(i >> 16) ∧ by1 = i2b(i >> 8)
Used simplifier rules: int2int: ⊦ bytes2int(int2bytes(i)) = i;%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%len-02: ⊦ # by ' = 0 +1; from specification list[bytelist]%len: ⊦ #(bytes + bytes0) = # bytes + # bytes0; 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]%c-06: ⊦ by ' + bytes = by0 ' + bytes0 ↔ by = by0 ∧ bytes = bytes0; from specification list[bytelist]%mklist-one: ⊦ mklist(by, 1) = by '; from specification list-last[bytelist]%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic1%in-14: ⊦ by ' + bytes = bytes0 → by ∈ bytes0; (forward) from specification list[bytelist]%a: ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1; from specification list[bytelist]%in-15: ⊦ bytes + by ' = bytes0 → by ∈ bytes0; (forward) from specification list[bytelist]%zero-gels-04: ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; from specification int-abs