| m ≤ # int2bits(j * 2 ^ n→i(m)) ⊦ m = 0, bits2int(lastn(m, int2bits(j * 2 ^ n→i(m)))) = 0 |
0 ≤ i, j ≠ 0 ⊦ int2bits(j * 2 ^ i) = int2bits(j) + mklist(false, i→n(i))
0 ≤ n→i(m) ∧ j ≠ 0, m ≤ #(int2bits(j) + mklist(false, i→n(n→i(m)))) ⊦ m = 0, bits2int(lastn(m, int2bits(j) + mklist(false, i→n(n→i(m))))) = 0
Used simplifier rules: int2bits-zero: ⊦ int2bits(0) = false ';%bits2int-zero: ⊦ bits2int(false ') = 0;% ⊦ 0 ≤ n→i(n);% ⊦ i * 0 = 0;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i;% ⊦ # boolvar ' = 0 +1;% ⊦ m ≠ 0 → (m ≤ 1 ↔ m = 1);% ⊦ lastn(1, boolvar ') = boolvar '; Used terms: n→i(m), j