| fillsgn(n, boolvar ' + bits0) = boolvar0 ' + bits ⊦ boolvar0 ↔ boolvar |
⊦ bits ≠ [] ∧ # bits < n → fillsgn(n, bits) = bits.first ' + fillsgn(n -1, bits)
¬(boolvar ' + bits0 ≠ [] ∧ #(boolvar ' + bits0) < n), fillsgn(n, boolvar ' + bits0) = boolvar0 ' + bits ⊦ boolvar0 ↔ boolvar
Used simplifier rules: ⊦ (boolvar ' + bits).first ↔ boolvar;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ n -1 = n - 1;%⊦ boolvar ' + bits = boolvar0 ' + bits0 ↔ (boolvar ↔ boolvar0) ∧ bits = bits0; Used terms: boolvar ' + bits0, n