| vals1 = val1 + vals ∧ vals1 ≠ [], by ' + bytevalues(vals0) = bytevalues(vals1), by ∈ bytevalues(vals1), ∀ val0. val0 ∈ vals0 ∨ val0 ∈ vals1 → is_bytevalue(val0), bytevalues(vals0) = bytevalues(vals) ∧ (val ∈ vals0 ∨ val ∈ vals → is_bytevalue(val)) → vals0 = vals ⊦ byteval(by) ' + vals0 = vals1 |
⊦ bytevalues(val ' + vals) = val .byteval + bytevalues(vals)
bytevalues(vals0) = bytevalues(vals), (val ∈ vals0 ∨ val ∈ vals → is_bytevalue(val)) → vals0 = vals, ∀ val0. val0 ∈ vals0 ∨ val0 = val1 ∨ val0 ∈ vals → is_bytevalue(val0) ⊦ byteval(val1 .byteval) ' + vals0 = val1 ' + vals
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ val ∈ val0 ' + vals ↔ val ≠ val0 ∧ ¬ val ∈ vals], [CSIMPSEQ : ⊦ by ∈ by0 ' ↔ by = by0], [CSIMPSEQ : ⊦ by ∈ bytes + bytes0 ↔ ¬ ¬ (by ∈ bytes ∨ by ∈ bytes0)], [CSIMPSEQ : ⊦ val ' + vals ≠ []], [CSIMPSEQ : ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1], [CSIMPSEQ : ⊦ by ' + bytes = by0 ' + bytes0 ↔ by = by0 ∧ bytes = bytes0], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ by + bytes = by ' + bytes], [CSIMPSEQ : ⊦ val + vals = val ' + vals])]]