| bytes.first = i2b(0) ∧ bytes.rest.first = i2b(0) ∧ int2bytes(bytes2int(bytes)) = bytes, ∀ bytes0. # bytes0 < # bytes → bytes0.first = i2b(0) ∧ bytes0.rest.first = i2b(0) ∧ int2bytes(bytes2int(bytes0)) = bytes0 → # bytes0 = 1 ∨ bytes0 = [] ⊦ # bytes = 1 ∨ bytes = [] |
int2bytes(bytes2int(bytes)) = bytes, bytes.rest.first = i2b(0), bytes.first = i2b(0), ∀ bytes0. # bytes0 < # bytes → bytes0.first = i2b(0) ∧ bytes0.rest.first = i2b(0) ∧ int2bytes(bytes2int(bytes0)) = bytes0 → # bytes0 = 1 ∨ bytes0 = [] ⊦ bytes = [], # bytes = 1