| ¬(0 < i ∧ i ≠ 1), uint2bits(i) = uint2bits(j), 0 ≤ j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → uint2bits(i0) = uint2bits(j) ∧ 0 ≤ i0 ∧ 0 ≤ j → i0 = j ⊦ i = j |
false ' + true ' = uint2bits(j), 0 ≤ j, false ∈ uint2bits(j), true ∈ uint2bits(j), ∀ i0, j. i→n(i0) < i→n(1) → uint2bits(i0) = uint2bits(j) ∧ 0 ≤ i0 ∧ 0 ≤ j → i0 = j ⊦ 1 = j
Used simplifier rules: uint2bits-zero: ⊦ uint2bits(0) = false ';%uint2bits-zero-01: 0 ≤ i ⊦ uint2bits(i) = false ' ↔ i = 0;%uint2bits-one: ⊦ uint2bits(1) = false + true;%uint2bits-firstpos: ⊦ uint2bits(j) = boolvar ' + bits ∧ 0 ≤ j → ¬ boolvar;% ⊦ boolvar ' + bits = bits0 → boolvar ∈ bits0; (forward)% ⊦ bits + boolvar ' = bits0 → boolvar ∈ bits0; (forward)% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar + boolvar0 = boolvar ' + boolvar0 ';% ⊦ i < j ∧ j = i0 → i < i0; (forward)% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ ¬ i < j ↔ j ≤ i;