fact: Definition IBagDeleteCorrect (RepInv : TMap -> TBag -> Prop) (Matcher : TSearchTerm -> TItem -> bool) (ibenumerate : TBag -> list TIndex) (ibdelete : TBag -> TSearchTerm -> list TIndex * TBag) := forall bag imap searchterm, RepInv imap bag -> Permutation (ibenumerate (snd (ibdelete bag searchterm))) (snd (List.partition (IBagMatcher Matcher imap searchterm) (ibenumerate bag))) /\ Permutation (fst (ibdelete bag searchterm)) (fst (List.partition (IBagMatcher Matcher imap searchterm) (ibenumerate bag))).
imports: Fiat.Common.Coq__8_4__8_5__Compat Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsInterface Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsProperties