| m < # apebs, unique-sqns(apebs) ⊦ unique-sqns(apebs[m, apeb]) ↔ ¬ valid-peb(apeb) ∨ ¬ apeb.vidhdr.sqn ∈ valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs) \ (valid-peb(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs[m]) ⊃ {apebs[m].vidhdr.sqn} ;∅) |
m < # apebs, ∀ v, m. unique-elems(valid-sqns(v, m, apebs)) ⊦ (∀ v, m0. unique-elems(valid-sqns(v, m0, apebs[m, apeb]))) ↔ ¬ valid-peb(apeb) ∨ ¬ apeb.vidhdr.sqn ∈ valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs) \ (valid-peb(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs[m]) ⊃ {apebs[m].vidhdr.sqn} ;∅)
Used simplifier rules: unique-sqns: ⊦ unique-sqns(apebs) ↔ (∀ v, m. unique-elems(valid-sqns(v, m, apebs)));% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic