| false ∈ uint2bits(j / 2).rest ↔ (∀ i. 2 ^ i ≠ j / 2 + 1), 0 < j, ∀ j0. i→n(j0) < i→n(j) → 0 < j0 → (false ∈ uint2bits(j0).rest ↔ (∀ i. 2 ^ i ≠ j0 + 1)) ⊦ j % 2 = 0, j = 1, j % 2 ≠ 1 ∨ false ∈ uint2bits(j / 2).rest ↔ (∀ i. 2 ^ i ≠ j + 1) |
j = i0 * 2 + j1 ∧ 0 ≤ j1 ∧ j1 < 2 ∧ 0 ≤ i0 ∧ 0 < 2 ∧ 0 ≤ j, false ∈ uint2bits(i0).rest ↔ (∀ i. 2 ^ i ≠ i0 + 1), 0 < j, ∀ j0. i→n(j0) < i→n(j) → 0 < j0 → (false ∈ uint2bits(j0).rest ↔ (∀ i. 2 ^ i ≠ j0 + 1)) ⊦ j1 = 0, j = 1, j1 ≠ 1 ∨ false ∈ uint2bits(i0).rest ↔ (∀ i. 2 ^ i ≠ j + 1)
Used simplifier rules: ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i < j → ¬ j < i;%⊦ 0 < j ∧ 0 ≤ i → ( i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ 0 ≤ j0 ∧ j0 < j ∧ 0 ≤ i0); (elim) Used terms: j, 2, i0, j1