| mklist(true, i→n(j)) + int2bits(i) = false ' + bits, # int2bits(i) = m + 1, i < 0, false ∈ int2bits(i), j < 32, 0 ≤ j ⊦ |
⊦ m ≠ 0 → mklist(boolvar, m) = boolvar + mklist(boolvar, m - 1)
Used simplifier rules: ⊦ boolvar ' + bits = boolvar0 ' + bits0 ↔ (boolvar ↔ boolvar0) ∧ bits = bits0;% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ mklist(boolvar, 0) = [];% ⊦ [] + bits = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ j < 0 → int2bits(j) ≠ false ' + bits; Used terms: i→n(j), true