| ∀ n, bv. n < # vals0 → (booleanvalues(vals0)[n, bv]) = booleanvalues(vals0[n, boolval(bv)]) ⊦ n < # (val + vals0) → (booleanvalues(val + vals0)[n, bv]) = booleanvalues((val + vals0)[n, boolval(bv)]) |
⊦ booleanvalues(val ' + vals) = val .boolval + booleanvalues(vals)
n ≤ # vals0, ∀ n, bv. n < # vals0 → (booleanvalues(vals0)[n, bv]) = booleanvalues(vals0[n, boolval(bv)]) ⊦ (val .boolval ' + booleanvalues(vals0))[n, bv] = booleanvalues((val ' + vals0)[n, boolval(bv)])
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : nat, , lels, ⊦ ¬ m < n ↔ n ≤ m], [CSIMPNAMEDSEQ : nat-basic2, , c, ⊦ m + n = n + m], [CSIMPNAMEDSEQ : nat-basic2, , a, ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPNAMEDSEQ : nat-basic2, , s, ⊦ m < n + 1 ↔ ¬ n < m], [CSIMPNAMEDSEQ : list, javavalues, len-02, ⊦ # val ' = 0 +1], [CSIMPNAMEDSEQ : list, javavalues, len, ⊦ # (vals + vals0) = # vals + # vals0], [CSIMPNAMEDSEQ : list, javavalues, a, ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPNAMEDSEQ : list, bitlista, c, ⊦ boolvar + bits = boolvar ' + bits], [CSIMPNAMEDSEQ : list, javavalues, c, ⊦ val + vals = val ' + vals])]]