| us2i(sho) + us2i(i2s(i)) < 2 ^ 16 → us2i(i2s(s2i(sho) + s2i(i2s(i)))) = us2i(sho) + us2i(i2s(i)), i < 32767, us2i(sho) + i < 65536, 0 ≤ i ⊦ us2i(i2s(s2i(sho) + i)) = us2i(sho) + i |
i < 32767, us2i(sho) + i < 65536, 0 ≤ i, ¬ 65536 ≤ us2i(sho) + us2i(i2s(i)) → us2i(i2s(s2i(sho) + s2i(i2s(i)))) = us2i(sho) + us2i(i2s(i)) ⊦ us2i(i2s(s2i(sho) + i)) = us2i(sho) + i
Used simplifier rules: ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;