| apeb.vidhdr = avidhdr(v0, m0, m1, m2, m3), apeb.echdr.valid?, m2 ≠ 0 → m2 ≤ datasize(apeb.data) ∧ m3 = checksum(apeb.data, m2) ⊦ (∃ m0, m1, m2. apeb.vidhdr = avidhdr(v, m, m0, m1, m2) ∧ (m1 ≠ 0 → m1 ≤ datasize(apeb.data) ∧ m2 = checksum(apeb.data, m1))) ↔ v = v0 ∧ m = m0, apeb.bad |
apeb = mkpeb(aehdr, avhdr, buf, m4, boolvar), avhdr = avidhdr(v0, m0, m1, m2, m3), ¬ boolvar, aehdr.valid?, m2 ≠ 0 → m2 ≤ datasize(buf) ∧ m3 = checksum(buf, m2) ⊦ (∃ m0, m1, m2. avhdr = avidhdr(v, m, m0, m1, m2) ∧ (m1 ≠ 0 → m1 ≤ datasize(buf) ∧ m2 = checksum(buf, m1))) ↔ v = v0 ∧ m = m0
Used simplifier rules: ⊦ ( ((aehdr = apeb.echdr ∧ avhdr = apeb.vidhdr) ∧ buf = apeb.data) ∧ m = apeb.fill) ∧ (boolvar ↔ apeb.bad) ↔ apeb = mkpeb(aehdr, avhdr, buf, m, boolvar); (elim) Used terms: apeb, aehdr, avhdr, buf, m3, boolvar