| mklist(false, i→n(i0)) + false ' + false ' + true ' = false ' + true ' + bits1, mklist(false, i→n(i0)) + false ' = false ' + bits, 0 ≤ i0 ⊦ |
n ≠ 0 ⊦ mklist(false, (* n)) = false ' + mklist(false, n -1)
i→n(i0) ≠ 0, (false ' + mklist(false, i→n(i0) -1)) + false ' + false ' + true ' = false ' + true ' + bits1, (false ' + mklist(false, i→n(i0) -1)) + false ' = false ' + bits, 0 ≤ i0 ⊦
Used simplifier rules: ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ mklist(boolvar, 0) = [];% ⊦ [] + bits = bits;% ⊦ boolvar ' = boolvar0 ' + bits ↔ (boolvar ↔ boolvar0) ∧ bits = [];% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;%⊦ boolvar ' + bits = boolvar0 ' + bits0 ↔ (boolvar ↔ boolvar0) ∧ bits = bits0; Used terms: i→n(i0)