fact: Definition BagFindCorrect {TContainer TItem TSearchTerm: Type} (RepInv : TContainer -> Prop) (bfind : TContainer -> TSearchTerm -> list TItem) (bfind_matcher : TSearchTerm -> TItem -> bool) (benumerate : TContainer -> list TItem) := forall container search_term (containerCorrect : RepInv container), Permutation (List.filter (bfind_matcher search_term) (benumerate container)) (bfind container search_term).
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Program.Program Coq.Sorting.Permutation