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