| j = i * 2 + j1 ∧ 0 ≤ j1 ∧ j1 < 2 ∧ 0 < 2, j1 = 1, 0 ≤ j, 0 < j, 1 < j, ∀ j0. i→n(j0) < i→n(j) → 0 < j0 → uint2bits(j0 - 1) = sgn(bitsinvert(bitsinvert(uint2bits(j0)) +1)) ⊦ uint2bits((j - 1) / 2) + ((j - 1) % 2 = 1)' = sgn(uint2bits(i) + false '), j = 2 |
Used simplifier rules: uint2bits-sgn-false-01: ⊦ 0 < j → sgn(uint2bits(j) + false ') = uint2bits(j) + false ';% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ 0 < i → (0 < i * j ↔ 0 < j);% ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j);% ⊦ ~1 < i ↔ 0 ≤ i;% ⊦ (* j) < i0 + (* j0) ↔ j - j0 < i0;% ⊦ 0 ≤ j1 ∧ j1 < j → (0 ≤ i0 * j + j1 ↔ 0 ≤ i0);% ⊦ 2 * i ≠ 1;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ (i * 2) % 2 = 0;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;%j ≠ 0 ⊦ (i * j) / j = i;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + 0 = i;% ⊦ (* i) + i0 - (* j) = (i - j) + i0;