fact: Definition IndexedBag_bupdate (bag : TIndexedBag) (searchterm : TSearchTerm) (updateterm : TUpdateTerm) := let matched := ibfind (fst bag) searchterm in (IndexesToItems matched (snd bag), (fst bag, List.fold_right (fun idx p => match pget p idx with | None => p | Some item => pput p idx (Some (Transform updateterm item)) end) (snd bag) matched)).
imports: Fiat.Common.Coq__8_4__8_5__Compat Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsInterface Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsProperties Coq.FSets.FMapInterface Coq.FSets.FMapFacts Coq.FSets.FMapAVL Coq.Structures.OrderedTypeEx