| bytes.first = i2b(0), bytes.rest.first = i2b(0), int2bytes(bytes2int(bytes)) = bytes ⊦ # bytes = 1, bytes = [] |
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 = []
Used simplifier rules: <; (wellfounded) Used terms: # bytes