| aehdr.valid?, m2 ≠ 0 → m2 ≤ datasize(buf) ∧ m3 = checksum(buf, m2) ⊦ (∃ m4, m5, m6. avidhdr(v0, m0, m1, m2, m3) = avidhdr(v, m, m4, m5, m6) ∧ (m5 ≠ 0 → m5 ≤ datasize(buf) ∧ m6 = checksum(buf, m5))) ↔ v = v0 ∧ m = m0 |
m = m0, v = v0, aehdr.valid?, m2 ≠ 0 → m2 ≤ datasize(buf) ∧ m3 = checksum(buf, m2) ⊦ ∃ m4, m5, m6. avidhdr(v0, m0, m1, m2, m3) = avidhdr(v, m, m4, m5, m6) ∧ (m5 ≠ 0 → m5 ≤ datasize(buf) ∧ m6 = checksum(buf, m5))
Used simplifier rules: ⊦ avidhdr(v, m, m0, m1, m2) = avidhdr(v0, m3, m4, m5, m6) ↔ v = v0 ∧ m = m3 ∧ m0 = m4 ∧ m1 = m5 ∧ m2 = m6; (ws)