| fillsgn(2, int2bytes(s2i(sho))) = by + bytes, fillsgn(2, int2bytes(s2i(sho))) ≠ [], # bytes + 1 = 2 ⊦ fillsgn(2, int2bytes(s2i(sho))) = i2b(s2i(sho) i>> 8) ' + i2b(s2i(sho)) ' |
⊦ # bytes ≤ 1 ∧ bytes ≠ [] → # bytes = 1
# bytes ≤ 1 ∧ bytes ≠ [], fillsgn(2, int2bytes(s2i(sho))) = by + bytes, fillsgn(2, int2bytes(s2i(sho))) ≠ [], 1 + 1 = 2 ⊦ fillsgn(2, int2bytes(s2i(sho))) = i2b(s2i(sho) i>> 8) ' + i2b(s2i(sho)) '
Used simplifier rules: fillsgn-not-empty: ⊦ fillsgn(n, int2bytes(i)) ≠ [];%c: ⊦ by + bytes = by ' + bytes; from specification list[bytelist]%add-num-04: n0 < n ⊦ (* n) = m0 + (* n0) ↔ n - n0 = m0; from specification nat%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%one: ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1); from specification nat-basic1%l: ⊦ # bytes = 0 ↔ bytes = []; from specification list-data[bytelist]%in-14: ⊦ by ' + bytes = bytes0 → by ∈ bytes0; (forward) from specification list[bytelist]%a: ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1; from specification list[bytelist]%size-01: ⊦ # [] = 0; from specification list-data[bytelist] Used terms: bytes