| ⊦ mklist(¬ 0 ≤ i, n) + int2bits(i) = fillsgn(n + # int2bits(i), int2bits(i)) |
∀ i. mklist(¬ 0 ≤ i, m) + int2bits(i) = fillsgn(m + # int2bits(i), int2bits(i)) ⊦ mklist(¬ 0 ≤ i, m +1) + int2bits(i) = fillsgn(m +1 + # int2bits(i), int2bits(i))
Used simplifier rules: int2bits-inj: ⊦ int2bits(i) = int2bits(j) ↔ i = j;%nat freely generated by 0, +1;;% ⊦ mklist(boolvar, 0) = [];% ⊦ [] + bits = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ 0 + m = m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ fillsgn(# bits, bits) = bits;