| 0 < bits2uint(bits0), ∀ bits1. # bits1 < #(bits0 + false ') → true → uint2bits(bits2uint(bits1)) = sgn(false ' + bits1) ⊦ uint2bits(bits2uint(bits0)) + false ' = sgn(false ' + bits0 + false ') |
uint2bits(bits2uint(bits0)) = sgn(false ' + bits0), 0 < bits2uint(bits0), ∀ bits1. # bits1 < #(bits0 + false ') → true → uint2bits(bits2uint(bits1)) = sgn(false ' + bits1) ⊦ uint2bits(bits2uint(bits0)) + false ' = sgn(false ' + bits0 + false ')
Used simplifier rules: ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ # boolvar ' = 0 +1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ m < n + 1 ↔ ¬ n < m;% ⊦ ¬ n < n;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m; Used terms: bits0